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 Tabi Space.


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.