Przejdź do treści

Wtyczka Konwersja końca linii

Przepisz zakończenia wierszy dokumentu na jedną spójną konwencję. Przydatne, gdy plik ma mieszane lub obce dla danej platformy zakończenia wierszy.

Plik zachowuje swoje zakończenia wierszy

OctoEdit rozpoznaje zakończenia wierszy pliku przy otwarciu i zapisuje z powrotem dokładnie te same przy każdym zapisie. Plik uniksowy z zakończeniami LF pobrany na Windowsie pozostaje LF; plik CRLF pozostaje CRLF; plik klasycznego Maca z CR pozostaje CR. Naciśnięcie Enter wstawia to zakończenie, którego plik już używa, więc edycja nigdy nie wprowadza do niego drugiej konwencji — zapis bez żadnych zmian zostawia bajty identyczne co do jednego, a system kontroli wersji nie pokazuje niczego.

Zupełnie nowy, niezapisany dokument startuje z konwencją platformy — CRLF na Windowsie, LF gdzie indziej.

Zakończenie wiersza należy do dokumentu, a nie do tej wtyczki: poniższe menu je pokazuje i zmienia, a zapisem zajmuje się rdzeń edytora.

Pasek stanu podaje zakończenie wiersza aktywnego dokumentu we własnym segmencie — Windows (CR LF), Unix (LF) albo Macintosh (CR) — i podąża za aktywną kartą, więc widać, czym jest każdy plik, bez otwierania menu.

Gdzie to znaleźć

Edycja ▸ Konwersja końca linii:

Polecenie Przepisuje każde zakończenie wiersza na
Windows (CR LF) \r\n
macOS (CR) \r (klasyczny Mac)
Linux (LF) \n

Zakończenie, którego aktualnie używa aktywny dokument, jest w menu zaznaczone ptaszkiem.

Jak to działa

Konwersja zawsze dotyczy całego dokumentu (ewentualne zaznaczenie jest ignorowane) i wykonuje się w jednym kroku, który można cofnąć za jednym razem. Robi dwie rzeczy: przepisuje zakończenia wierszy już obecne w buforze oraz zapisuje nową konwencję na dokumencie — dzięki czemu Enter od tej chwili wstawia nowe zakończenie, a kolejny zapis je utrwala. Pasek stanu potwierdza wybrany format.

Konwersja pliku bez żadnych zakończeń wierszy (jeden wiersz) też działa: żaden bajt się nie zmienia, ale dokument zapamiętuje wybór dla pierwszego Enter, który naciśniesz.

EditorConfig może wymusić to przy zapisie

Aby automatycznie normalizować zakończenia wierszy w projekcie, ustaw end_of_line w pliku .editorconfig — edytor stosuje to ustawienie przy każdym zapisie, bez ręcznego polecenia, i przestawia dokument na tę konwencję, aby późniejsze naciśnięcia Enter pasowały do tego, co właśnie zostało zapisane.