L'editor di testo Atom rimuove gli spazi vuoti finali al salvataggio


116

Io uso Sublime text. Adesso ci sto provando Atom. Quando salvo qualsiasi file in testo sublime, non include alcuna riga vuota finale. Ma salvare qualsiasi file in Atomlascia una riga vuota finale. Come faccio a forzare a Atomnon lasciare spazi bianchi finali?


3
Bastoni atomo definizione POSIX di una linea di default: "A sequence of zero or more non- <newline> characters plus a terminating <newline> character." - stackoverflow.com/questions/729692
Sepehr

Risposte:


191

Sotto il tuo Atom Preferencesvai alla Packagesscheda e cerca whitespace. Fare clic sul whitespacepacchetto e deselezionare l' Ensure Single Trailing Newlineopzione

inserisci qui la descrizione dell'immagine


30
Penso che sia ancora meglio se deselezioniamo "Ignora spazi bianchi sulla riga corrente". Ciò rimuoverà lo spazio vuoto finale della riga corrente nel momento in cui il file viene salvato.
Gagan

Questo messaggio potrebbe diventare più criptico? Lol - Sono solo felicissimo di avere Atom che manipola il diff di un file lungo perché un altro sviluppatore ha lasciato alcuni spazi finali solo per scoprire che non è possibile trovare questa impostazione per nome. Pochi .. Qualcuno ha notato che il nome è cambiato da Pacchetto a Impostazioni?
jcalfee314

5
Forse questa è una nuova impostazione, ma c'è una Remove Trailing Whitespacecasella di controllo nella parte inferiore della settingssezione. Deselezionarlo preserva tutti gli spazi vuoti finali.
bluecollarcoder

19

A livello globale questo può essere modificato usando settingsin Whitespacepackage, ma se vuoi disabilitarlo per una lingua specifica devi usare le proprietà con ambito sintattico nel tuo config.cson.

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

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

Per vedere l'ambito della lingua vai alla Packagesscheda e cerca la tua lingua.

Fai clic sulle impostazioni del pacchetto lingua e puoi vedere l'ambito:


1
La tua risposta è ancora più dettagliata rispetto ai documenti ufficiali su github.com/atom/whitespace , grazie per aver dedicato del tempo per metterlo su! :-) Mi piacerebbe configurare atom in questo modo, ma non riesco a farlo funzionare, atom continua a trasformare due newline finali in uno solo nei miei file jinja2. L'ambito è .text.html.jinja, la configurazione corrisponde alla tua, ma non funziona. Globale è quindi :-(
ssc

L'immagine che mostra come trovare l'ambito è stata particolarmente utile. Da allora ho anche trovato gli ambiti elencati nel selettore grammaticale (per impostazione predefinita a destra delle terminazioni di riga, numero di riga e codifica nella parte inferiore della finestra o con il collegamento predefinito ctrl+shift+L).
Steve

9

Vai ai pacchetti e trova "spazi bianchi", vai alle sue impostazioni e deseleziona l'ultima casella di controllo.

impostazioni Screenshot delle impostazioni

casella di controllo Screenshot della casella di controllo


0

Da aggiungere alla risposta di Dan Moldavan .

Ho riscontrato questo problema lavorando su un'applicazione Rails.

Ho aggiunto un .editorconfigfile con le seguenti proprietà:

# 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

E ho aggiunto un .gitattributesfile con le seguenti proprietà:

# Enforce Unix newlines
* text=auto eol=lf

E poi il mio Atom Editor ha lanciato un problema:

1 problema che interessa .gitattributes

whitespace: è possibile che il pacchetto "whitespace" impedisca alle seguenti proprietà di funzionare in modo affidabile: insert_final_newline, trim_trailing_whitespace. Puoi provare a riconfigurare o disabilitare il pacchetto "spazi bianchi" per risolvere i problemi.

Ecco come l'ho risolto :

  • Apri il tuo Atom Editor
  • Vai a Modifica> Preferenze> Pacchetti
  • Digita uno spazio vuoto
  • Fare clic sul pacchetto visualizzato
  • Deseleziona quanto segue:
    • Garantire una nuova riga finale singola
    • Ignora gli spazi sulla riga corrente
  • Lascia deselezionata l' opzione Ignora solo gli spazi bianchi

Screenshot della correzione

Salva e chiudi le impostazioni.

È tutto.

Spero che aiuti

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.