Pokaż znaki białych znaków w programie Visual Studio Code


411

Czy w programie Visual Studio Code można wyświetlać znaki spacji, takie jak znak spacji?

Wydaje się, że nie ma takiej opcji w settings.json(chociaż jest to opcja w Atom.io ), a ja nie byłem w stanie wyświetlać białych znaków za pomocą CSS.

Odpowiedzi:


608

Kod VS 1.6.0 i wyższy

Jak wspomniano poniżej aloisdg , editor.renderWhitespacejest teraz enum biorąc albo none, boundaryalbo all. Aby wyświetlić wszystkie białe znaki:

"editor.renderWhitespace": "all", 

Przed kodem VS 1.6.0

Przed 1.6.0, trzeba było zestawem editor.renderWhitespacedo true:

"editor.renderWhitespace": true

25
Czy istnieje sposób, aby to zrobić tylko dla wybranych postaci, takich jak "draw_white_space": "selection"opcja Sublime ?
— noio

10
@ noio Jeszcze nie, ale jest w drodze github
— revo

Ale to pokazuje tylko białe znaki na początku i na końcu linii?
— drzaus

14
@drzaus, "editor.renderWhitespace": "boundary"będzie początkiem i końcem linii, gdzie jak "deitor.renderWhitespace": "all"pokaże wszystkie białe znaki. @AlexanderGonchiy, uznałem za użyteczne otwieranie pliku> preferencje> ustawienia użytkownika (lub ustawienia obszaru roboczego) i używanie polecenia „znajdź” w folderze ustawień domyślnych, aby szukać tego, czego potrzebuję.
— JackChance,

1
Plik -> Preferencje -> Ustawienia. Wyszukaj „białe znaki”. W sekcji „Editor: Render WhiteSpace” znajduje się menu rozwijane umożliwiające wybór nowego ustawienia. (v1.13.2)
— CRice

139

Można to również zrobić za pomocą menu głównego View -> Render Whitespace


2
W v 1.36.xView -> Render Whitespace
— rmsys

1
Wydaje mi się, że to nie działa dla przestrzeni.
— Ian Smith

66

AKTUALIZACJA (czerwiec 2019)

Dla tych, którzy chcą przełączać białe znaki za pomocą skrótu klawiaturowego, możesz łatwo dodać do tego skrót klawiszowy .

W najnowszych wersjach Visual Studio Code jest teraz przyjazny interfejs graficzny (tj. Nie trzeba wpisywać danych JSON itp.) Do przeglądania i edycji wszystkich dostępnych skrótów klawiaturowych. Nadal jest poniżej

Plik> Preferencje> Skróty klawiaturowe (lub użyj Ctrl+ K Ctrl+ S)

Istnieje również pole wyszukiwania, które pomaga szybko znaleźć (i przefiltrować) pożądane skróty klawiszowe. Teraz zarówno dodawanie nowych, jak i edytowanie istniejących skrótów klawiszowych jest znacznie łatwiejsze:

wprowadź opis zdjęcia tutaj


Przełączanie białych znaków nie ma domyślnego przypisania klawiszy, więc dodaj jeden. Wystarczy nacisnąć +znak po lewej stronie powiązanej linii (lub nacisnąć Enterlub dwukrotnie kliknąć dowolne miejsce w tej linii) i wprowadzić żądaną kombinację w wyskakującym oknie.

A jeśli wybrane przez Ciebie skrót klawiaturowy jest już używany do innych działań, pojawi się wygodne ostrzeżenie, które możesz kliknąć i obserwować, które działania już wykorzystują wybrane przypisanie klawiszy:

wprowadź opis zdjęcia tutaj

Jak widać, wszystko jest bardzo intuicyjne i wygodne.
Dobra robota, Microsoft!


Oryginalna (stara) odpowiedź

Dla tych, którzy chcą przełączać białe znaki za pomocą skrótu klawiaturowego , możesz dodać niestandardowe powiązanie do pliku keybindings.json ( Plik> Preferencje> Skróty klawiaturowe ).

Przykład :

// Place your key bindings in this file to overwrite the defaults
[
    {
        "key": "ctrl+shift+i",
        "command": "editor.action.toggleRenderWhitespace"
    }
]

Tutaj przypisałem kombinację Ctrl+ Shift+ ido przełączania niewidocznych znaków, możesz oczywiście wybrać inną kombinację.


2
Moje Visual Studio używa ctrl+e ctrl+sdomyślnie. W przypadku takich skrótów kombi musisz wstawić spację między dwiema kombinacjami, a nie przecinek.
— t3chb0t

50

Pokaż znaki białych znaków w programie Visual Studio Code

zmień ustawienie.js, dodając następujące kody!

// Place your settings in this file to overwrite default and user settings.
{
    "editor.renderWhitespace": "all"
}

takie jak to!
(PS: nie ma „prawdziwej” opcji !, nawet to działa.) wprowadź opis zdjęcia tutaj


„editor.renderWhitespace”: „all”
— xgqfrms

29

Wystarczy wykazać zmiany, które editor.renderWhitespace : none||boundary||allbędzie zrobić, aby VSCode dodałem ten zrzut ekranu:
wprowadź opis zdjęcia tutaj.

Gdzie Tabsą →i Spacesą.


2
Schemat kolorów PS nie jest częścią zmiany (mam do tego dodatkową wtyczkę)
— Zack S

1
Wtyczkę można znaleźć tutaj: marketplace.visualstudio.com/…
— Zack S

16

To booleanjuż nie jest . Przeszli na enum. Teraz możemy wybierać pomiędzy: none, boundary, i all.

// Controls how the editor should render whitespace characters,
// posibilties are 'none', 'boundary', and 'all'.
// The 'boundary' option does not render single spaces between words.
"editor.renderWhitespace": "none",

Możesz zobaczyć oryginalny diff na GitHub .


2
Możliwe jest również zainstalowanie rozszerzenia o nazwie Trailing Spaces, aby wyświetlać tylko te końcowe.
— Stephane

11

* Aktualizacja, wydanie z lutego 2020 r. * Patrz https://github.com/microsoft/vscode/issues/90386

W v1.43 wartość domyślna zostanie zmienionyselection z nonejak to było w v1.42.

"editor.renderWhitespace": "selection"  // default in v1.43

Aktualizacja do wersji 1.37: dodanie opcji renderowania białych znaków tylko w zaznaczonym tekście. Zobacz informacje o wersji v1.37, renderuj białe znaki .

To editor.renderWhitespaceustawienie obsługuje teraz selectionopcję. Po ustawieniu tej opcji białe znaki będą wyświetlane tylko w zaznaczonym tekście:

"editor.renderWhitespace": "selection"

i

"workbench.colorCustomizations": {    
  "editorWhitespace.foreground": "#fbff00"
}

Demo białych znaków renderuje się w zaznaczeniu



ta zmiana koloru jest niesamowita, dziękuję.
— Ian Smith

Jeśli chcesz, aby był trochę mniej obecny w porównaniu z kodem akceptuje również kanał alfa, więc # fbff0040 również będzie poprawny, dzięki czemu kropki będą bardziej przejrzyste
— relief.melone

6

W celu uzyskania diff do wyświetlania spacje podobnie jak git diffzestaw diffEditor.ignoreTrimWhitespacena false. edit.renderWhitespacejest tylko nieznacznie pomocny.

// Controls if the diff editor shows changes in leading or trailing whitespace as diffs
"diffEditor.ignoreTrimWhitespace": false,

Aby zaktualizować ustawienia, przejdź do

Plik> Preferencje> Ustawienia użytkownika

Uwaga dla użytkowników komputerów Mac: menu Preferencje znajduje się w obszarze Kod, a nie Plik. Na przykład Kod> Preferencje> Ustawienia użytkownika.

Spowoduje to otwarcie pliku o nazwie „Ustawienia domyślne”. Rozwiń obszar //Editor. Teraz możesz zobaczyć, gdzie znajdują się wszystkie te tajemnicze editor.*ustawienia. Wyszukaj (CTRL + F) dla renderWhitespace. Na moim pudełku mam:

// Controls how the editor should render whitespace characters, posibilties are 'none', 'boundary', and 'all'. The 'boundary' option does not render single spaces between words.
"editor.renderWhitespace": "none",

Aby dodać zamieszanie, lewego okna „Ustawienia domyślne” nie można edytować. Musisz je zastąpić, używając prawego okna zatytułowanego „settings.json”. Możesz skopiować ustawienia wklejania z „Ustawień domyślnych” do „settings.json”:

// Place your settings in this file to overwrite default and user settings.
{
     "editor.renderWhitespace": "all",
     "diffEditor.ignoreTrimWhitespace": false
}

W końcu się wyłączyłem renderWhitespace.


5

Opcja, aby białe znaki były widoczne, pojawia się teraz jako opcja w menu Widok, jako „Przełącz renderowanie białych znaków” w wersji 1.15.1 Visual Studio Code.


5

Naciśnij przycisk F1, a następnie wpisz „Przełącz renderowanie białych znaków” lub fragmenty, które możesz zapamiętać :)

Używam vscode w wersji 1.22.2, więc może to być funkcja, która nie istniała jeszcze w 2015 roku.


1
to działa! Ale przełącza się tylko między „wszystkim” a „brakiem”, pomijając opcję „granicy”.
— DiegoDD

5
  1. Otwórz preferencje użytkownika. Skrót klawiaturowy: CTR + SHIFT + P-> Preferencje: Otwórz ustawienia użytkownika;

  2. Wstaw w polu wyszukiwania Białe znaki i wybierz cały parametr wprowadź opis zdjęcia tutaj


Ponadto dla VS Code 1.45 (w OSX) domyślnie wybrano „wybór”.
— Shane
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.