Visual Studio Code: Jak wyświetlać zakończenia linii

210

Jak mogę wyświetlać linie podziału (CR, LF) w Visual Studio Code (nie w Visual Studio).

Używam następujących ustawień, ale żadne z nich nie pokazuje zakończeń linii.

"editor.renderWhitespace": true,
"editor.renderControlCharacters": true,
"editor.renderIndentGuides": true

Czy jest ustawienie dla lineingsów?

Edycja 1: Otworzyłem problem na GitHub: https://github.com/Microsoft/vscode/issues/12223

Edycja 2: Soham Kamani stworzył rozszerzenie dla tego: code-eol

tonka
źródło
16
Zrobiłem rozszerzenia dla tego, jeśli nadal będziesz go potrzebować: marketplace.visualstudio.com/...
Soham Kamani
@SohamKamani Twój komentarz powinien być zaakceptowaną odpowiedzią na pytanie.
Nicolas Seiller,
To rozszerzenie jest bezużyteczne: w rzeczywistości nie wyświetla, czy znaki są znakami powrotu karetki, czy znakami wiersza, po prostu tworzy glify na końcu linii, które pasują do tego, co mówi vscode, że plik. Nie pomaga w określaniu plików o mieszanych stylach końca linii. (Ten lub vscode automatycznie normalizuje EOL-y plików, przez co każde rozszerzenie tego efektu jest bezużyteczne.)
Tustin2121,

Odpowiedzi:

340

AFAIK nie ma sposobu, aby wizualnie zobaczyć zakończenia linii w przestrzeni edytora, ale w prawym dolnym rogu okna znajduje się wskaźnik z napisem „CLRF” lub „LF”, który pozwoli ci ustawić zakończenia linii dla określonego pliku . Kliknięcie tekstu pozwoli również zmienić zakończenia linii.

wprowadź opis zdjęcia tutaj

Llewey
źródło
15
Czy możesz zmienić domyślną wartość tego? W tej chwili za każdym razem, gdy otwieram plik, muszę go ręcznie kliknąć.
David Martinez,
16
@DavidMartinez Tak. W ustawieniach użytkownika lub obszaru roboczego: // Domyślny znak końca linii. „files.eol”: „\ r \ n”,
Llewey,
4
@Llewey Ale to globalna zmiana, prawda? Czy mogę to jakoś ustawić tylko dla .shplików?
Kostas Demiris
@KostasDemiris Nie testowałem tego, ale możesz spróbować "[sh]": { "files.eol": "\n" }. Nie wszystkie ustawienia mogą być ustawione dla konkretnego języka i nie jestem pewien, czy to jest taki, ale warto spróbować.
Michael Dorst
90

Jeśli chcesz ustawić domyślnie LF, możesz przejść do Plik-> Preferencje-> Ustawienia, a w ustawieniach użytkownika możesz wkleić ten wiersz poniżej innych ustawień użytkownika.

„files.eol”: „\ n”

Na przykład.

"git.confirmSync": false,
"window.zoomLevel": -1,
"workbench.activityBar.visible": true,
"editor.wordWrap": true,
"workbench.iconTheme": "vscode-icons",
"window.menuBarVisibility": "default",
"vsicons.projectDetection.autoReload": true,
"files.eol": "\n"
Isak La Fleur
źródło
12
Zrobiłem to, ale za każdym razem, gdy otwieram plik, nadal otwiera się za pomocą CRLF i muszę go ręcznie zmienić.
pixelwiz
1
@pixelwiz, jeśli zapiszesz plik, czy zmieni się on na LF? github.com/Microsoft/vscode/issues/26626 github.com/Microsoft/vscode/issues/2957 Zmieniłem się na Mac, więc nie mam już tego problemu podczas tworzenia własnych projektów. Więc nie mogę zweryfikować, przepraszam.
Isak La Fleur,
5
To samo dotyczy mnie w systemie Windows - ustawienie plików user.eol na „\ n”, ale pliki są nadal zgłaszane jako CLRF
Marko,
Pracuje dla mnie w systemie Windows 7 z kodem VS 1.18.0
darkwing
1
Właśnie przetestowałem to z powodzeniem w Win 10 i VS Code 1.20.1. Nowy plik został utworzony z podziałem linii LF!
iaforek
18

Istnieje rozszerzenie, które pokazuje zakończenia linii. Możesz skonfigurować używany kolor, znaki reprezentujące CRLF i LF oraz wartość logiczną, która włącza i wyłącza.

Name: Line endings 
Id: jhartell.vscode-line-endings 
Description: Display line ending characters in vscode 
Version: 0.1.0 
Publisher: Johnny Härtell 

Link do portalu VS Marketplace

Shanimal
źródło
3
Obecnie to rozszerzenie nie robi tego, do czego służy. W pliku mieszanych zakończeń linii pokazuje zakończenia linii, jakby wszystkie były spójne, na podstawie tego, co twierdzi VS Code, że plik śledzi.
Andrew Arnott,
@AndrewArnott dzięki za aktualizację, będziemy musieli obejrzeć zgłoszony problem ... github.com/jhartell/vscode-line-endings/issues/1
Shanimal
@AndrewArnott, czy możesz powiedzieć, dlaczego to nie działa dla ciebie ?, dla mnie działa idealnie, tylko ikony są małe
John Balvin Arias
@JohnBalvinArias Problem, który napisałem, do którego Shanimal jest powiązany, opisuje problem: W rzeczywistości nie ujawnia on zakończeń o mieszanych liniach. Zawsze pokazuje je tak, jakby były konsekwentnie zgodne z preferencjami VS Code.
Andrew Arnott,
1
@AndrewArnott Jest tak, ponieważ sam VSCode nie obsługuje mieszanych zakończeń linii. github.com/Microsoft/vscode/issues/127
Chev
3

Renderuj zakończenia linii to rozszerzenie kodu VS, które jest nadal aktywnie utrzymywane (od kwietnia 2020 r.):

https://marketplace.visualstudio.com/items?itemName=medo64.render-crlf

https://github.com/medo64/render-crlf/

Można go skonfigurować w następujący sposób:

{
    "editor.renderWhitespace": "all",
    "code-eol.newlineCharacter": "¬",
    "code-eol.returnCharacter" : "¤",
    "code-eol.crlfCharacter"   : "¤¬",
}

i wygląda tak:

wprowadź opis zdjęcia tutaj

friederbluemle
źródło