L'éditeur de texte Atom supprime les espaces de fin lors de l'enregistrement

116

J'utilise Sublime text. Maintenant j'essaye Atom. Lorsque j'enregistre un fichier dans un texte sublime, il n'inclut aucune ligne vierge de fin. Mais enregistrer un fichier dans Atomlaisse une ligne vierge à la fin. Comment forcer à Atomne pas laisser d'espaces blancs à la fin?

Nasif Md. Tanjim
la source
3
Atom s'en tient à la définition POSIX d'une ligne par défaut: "A sequence of zero or more non- <newline> characters plus a terminating <newline> character." - stackoverflow.com/questions/729692
sepehr

Réponses:

191

Sous votre Atom, Preferencesallez dans l' Packagesonglet et recherchez whitespace. Cliquez sur le whitespacepackage et décochez l' Ensure Single Trailing Newlineoption

entrez la description de l'image ici

Dan moldave
la source
30
Je pense que c'est encore mieux si nous décocions "Ignorer les espaces sur la ligne actuelle". Cela supprimera l'espace blanc de fin de la ligne actuelle au moment de l'enregistrement du fichier.
Gagan
Ce message pourrait-il devenir plus crypté? Lol - Je suis juste ravi d'avoir Atom mangle le diff d'un long fichier car un autre développeur a laissé des espaces à la fin pour constater qu'il n'est pas possible de trouver ce paramètre par son nom. Peu de personnes .. Quelqu'un a remarqué que le nom a changé de Package à Paramètres?
jcalfee314
5
C'est peut-être un nouveau paramètre, mais il y a une Remove Trailing Whitespacecase à cocher en bas de la settingssection. La décocher préserve tous les espaces de fin.
bluecollarcoder
19

Au niveau global, cela peut être modifié en utilisant settingsin Whitespacepackage, mais si vous souhaitez le désactiver pour une langue spécifique, vous devez utiliser des propriétés de portée syntaxique dans votre config.cson.

'.text.html.php': # php overrides
  whitespace:
    ensureSingleTrailingNewline: false
    removeTrailingWhitespace: false

'.source.ruby': # ruby overrides
  whitespace:
    ensureSingleTrailingNewline: false
    removeTrailingWhitespace: false

Pour voir la portée de la langue, allez dans l' Packagesonglet et recherchez votre langue.

Cliquez sur les paramètres du package de langue et vous pouvez voir la portée:

Rajkaran Mishra
la source
1
Votre réponse est encore plus détaillée que la documentation officielle sur github.com/atom/whitespace , merci d'avoir pris le temps de mettre cela en place! :-) J'adorerais configurer atom de cette façon, mais je ne peux pas le faire fonctionner, atom continue de transformer deux nouvelles lignes de fin en une seule dans mes fichiers jinja2. La portée est .text.html.jinja, la configuration correspond à la vôtre, mais ne fonctionne pas. Global c'est alors :-(
ssc
L'image montrant comment trouver la lunette était particulièrement utile. Depuis, j'ai également trouvé les portées répertoriées dans le sélecteur de grammaire (par défaut à droite des fins de ligne, du numéro de ligne et de l'encodage en bas de la fenêtre, ou avec le raccourci par défaut ctrl+shift+L).
Steve
9

Allez dans les packages et trouvez "espace blanc", allez dans ses paramètres et décochez la dernière case.

Paramètres Capture d'écran des paramètres

Case à cocher Capture d'écran de la case à cocher

Pattycake Jr
la source
0

Pour ajouter à la réponse de Dan Moldavan .

J'ai rencontré ce problème lorsque je travaillais sur une application Rails.

J'ai ajouté un .editorconfigfichier avec les propriétés suivantes:

# editorconfig.org

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

Et j'ai ajouté un .gitattributesfichier avec les propriétés suivantes:

# Enforce Unix newlines
* text=auto eol=lf

Et puis mon éditeur Atom a jeté un problème:

1 problème affectant .gitattributes

whitespace: Il est possible que le paquetage "whitespace" empêche les propriétés suivantes de fonctionner de manière fiable: insert_final_newline, trim_trailing_whitespace. Vous pouvez essayer de reconfigurer ou de désactiver le paquetage «espace blanc» pour résoudre les problèmes.

Voici comment je l'ai résolu :

  • Ouvrez votre éditeur Atom
  • Allez dans Edition> Préférences> Packages
  • Tapez un espace blanc
  • Cliquez sur le package qui apparaît
  • Décochez ce qui suit:
    • Assurer une nouvelle ligne de fin unique
    • Ignorer les espaces sur la ligne actuelle
  • Ne pas cocher Ignorer les lignes blanches uniquement

Capture d'écran du correctif

Enregistrez et fermez les paramètres.

C'est tout.

J'espère que ça aide

Promesse Preston
la source