Edytor tekstu Atom usuwa końcowe spacje podczas zapisywania


116

Używam Sublime text. Teraz próbuję Atom. Kiedy zapisuję dowolny plik w wysublimowanym tekście, nie zawiera on żadnej końcowej pustej linii. Ale zapisanie dowolnego pliku w Atompozostawia na końcu pustą linię. Jak zmusić, Atomaby nie zostawiać końcowych spacji?


3
Atom domyślnie trzyma się definicji linii POSIX: "A sequence of zero or more non- <newline> characters plus a terminating <newline> character." - stackoverflow.com/questions/729692
sepehr

Odpowiedzi:


191

Pod swoim Atomem Preferencesprzejdź do Packageszakładki i wyszukaj whitespace. Kliknij whitespacepakiet i odznacz Ensure Single Trailing Newlineopcję

wprowadź opis obrazu tutaj


30
Myślę, że nawet lepiej będzie, jeśli odznaczymy opcję „Ignoruj ​​białe znaki w bieżącej linii”. Spowoduje to usunięcie końcowych białych znaków z bieżącego wiersza w momencie zapisywania pliku.
Gagan,

Czy ta wiadomość może stać się bardziej tajemnicza? Lol - Jestem po prostu przesadzony, że Atom zmienił długi plik różnicowy, ponieważ inny programista zostawił kilka końcowych spacji tylko po to, aby stwierdzić, że nie można znaleźć tego ustawienia według nazwy. Niewielu… Czy ktoś zauważył, że nazwa zmieniła się z Package na Settings?
jcalfee314

5
Może to nowe ustawienie, ale Remove Trailing Whitespacena dole settingssekcji znajduje się pole wyboru . Usunięcie zaznaczenia zachowuje wszystkie końcowe spacje.
bluecollarcoder

19

Na poziomie globalnym można to zmienić za pomocą settingsw Whitespacepakiecie, ale jeśli chcesz wyłączyć to dla określonego języka, musisz użyć właściwości o zakresie składni w pliku config.cson.

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

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

Aby zobaczyć zakres języka, przejdź do Packageszakładki i wyszukaj swój język.

Kliknij ustawienia pakietu językowego, aby zobaczyć zakres:


1
Twoja odpowiedź jest jeszcze bardziej szczegółowa niż oficjalna dokumentacja na github.com/atom/whitespace , dzięki za poświęcenie czasu na to! :-) Bardzo chciałbym skonfigurować atom w ten sposób, ale nie mogę go uruchomić, atom ciągle zamienia dwie końcowe linie nowej linii w jedną w moich plikach jinja2. Zakres jest taki .text.html.jinja, że konfiguracja pasuje do twojej, ale nie działa. Globalny jest wtedy :-(
ssc

Obraz pokazujący, jak znaleźć lunetę, był szczególnie przydatny. Od tego czasu znalazłem również zakresy wymienione w selektorze gramatyki (domyślnie po prawej stronie końcówek linii, numeru linii i kodowania na dole okna lub z domyślnym skrótem ctrl+shift+L).
Steve

9

Przejdź do pakietów i znajdź "białe znaki", przejdź do jego ustawień i odznacz ostatnie pole wyboru.

Ustawienia Zrzut ekranu ustawień

Pole wyboru Zrzut ekranu pola wyboru


0

Aby dodać do odpowiedzi Dana Moldavana .

Doświadczyłem tego problemu podczas pracy z aplikacją Railsową.

Dodałem .editorconfigplik o następujących właściwościach:

# 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

Dodałem .gitattributesplik o następujących właściwościach:

# Enforce Unix newlines
* text=auto eol=lf

A potem mój edytor Atom rzucił problem:

1 problem dotyczący .gitattributes

białe znaki: Jest możliwe, że pakiet "białych znaków" uniemożliwia niezawodne działanie następujących właściwości: insert_final_newline, trim_trailing_whitespace. Możesz spróbować zmienić konfigurację lub wyłączyć pakiet „białych znaków”, aby rozwiązać problemy.

Oto jak to naprawiłem :

  • Otwórz edytor Atom
  • Przejdź do Edycja> Preferencje> Pakiety
  • Wpisz spacje
  • Kliknij pakiet, który się pojawi
  • Odznacz następujące:
    • Zapewnij pojedynczy końcowy znak nowej linii
    • Ignoruj ​​odstępy w bieżącej linii
  • Zostaw Ignoruj białe znaki tylko linie odznaczone

Zrzut ekranu poprawki

Zapisz i zamknij ustawienia.

To wszystko.

mam nadzieję, że to pomoże

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.