Klawisz Tab Visual Studio Code nie wstawia karty

330

Używam Visual Studio Code jako mojego edytora Unity. Przeprowadziłem wyszukiwanie w google, ale nie znalazłem nic na temat mojego problemu.

Problem jest prosty, naciśnięcie ⇥ Tabedytora nic nie robi. Spodziewam się, że wstawi 4 spacje.

Czy ktoś wie, co mogę zrobić, aby ⇥ Tabpracować zgodnie z oczekiwaniami?

vinzee
źródło
zdarza się to ponownie w poufnych informacjach ...
Bruce Lee,
8
Miałem problem polegający na tym, że tabulator po prostu wstawiał tabulator poza edytorem (nawigacja między elementami interfejsu użytkownika). Ponowne uruchomienie edytora naprawiło to.
Rivenfall
Nie odpowiadam na pytania operacyjne, ale dla każdego, kto wyląduje tutaj po przeszukaniu „niedziałającej zakładki Visual Studio” lub po problemach po wciśnięciu Tab w Visual Studio wybiera blok zamiast dodania wcięcia. Można odwołać się do tej odpowiedzi przez Karela Tamayo
Justin Lessard
Pozostaje problem w kodzie v1.45.1 od czerwca 2020 r. Rozwiązaniem jest usunięcie Toggle Tab Key Moves Focusprzypisania klawiszy Ctrl + M(patrz odpowiedź @Addison). Dziwna „funkcja”.
AlainD

Odpowiedzi:

946

Przez przypadek włączyłem inny tryb dla klawisza tab. Naprawiono to naciskając Ctrl+ M.

Z dokumentów związanych ze skrótami klawiszowymi Visual Studio Code :

| Key      | Command                                 | Command id                       |
| Ctrl + M | Toggle Use of Tab Key for Setting Focus | editor.action.toggleTabFocusMode |

Bieżący tryb sterowania kartami powinien również pojawić się na pasku stanu:

wprowadź opis zdjęcia tutaj

pypmannetjies
źródło
28
Zdarzyło mi się, gdy próbowałem użyć kodu collapse ( Ctrl + M, Ctrl + O). Dzięki.
ciekawe-nazwa-tutaj
3
Co to jest Setting Focus ?
madhu131313
9
Na pasku stanu u dołu znajduje się jasnozielony „Tab Moves Focus”, jeśli przez pomyłkę naciśniesz Ctrl + M.
Jannunen,
3
@Jannunen masz rację, niestety dla nas, którzy mają 25-calowe ekrany, nikt nie zauważy, że malutka rzecz w kącie ...
strwoc
3
ale dlaczego?
hormberg
115

Aby rozwiązać problem

Naciśnięcie ctrl+ M powoduje ⇥ Tab przesunięcie fokusa zamiast wstawiania ⇥ Tab znaku.
Wyłącz go, naciskając ponownie skrót.

Aby wyłączyć skrót

  1. Otwórz „Skróty klawiaturowe” za pomocą ctrl+ K, a następnie ctrl+ S.
    Lub przejdź do Plik> Preferencje> Skróty klawiaturowe .
  2. Szukać toggle tab key moves focus.
  3. Kliknij prawym przyciskiem, Remove Keybinding.
Addison
źródło
3
Dziękuję Ci za to! Używam ctrl + m-> ctrl + k-> ctrl + 0do zwijania kodu i prawie codziennie przypadkowo łamię swoją kartę wcześniej :)
ttugates
Dzięki stary, to naprawdę działa. Zapomniałem, że nacisnąłem Ctrl + mklawisze.
iFart,
Właśnie zainstalowałem MSVS 2019. Nie widzę Preferencji w zakładce Plik. ctrl-k, ctrl-s otwiera listę urywków. Nie widzę opcji „Przełącz klawisz Tab przenosi fokus”. Z jakiej wersji MSVS korzystasz?
riderBill
1
@riderBill - dotyczy najnowszego kodu VS 1.39.2 (15.10.2019). Używasz Microsoft Visual Studio , którego nie należy mylić z Visual Studio Code .
Addison
O. <: ^ | Mój błąd. Ale nie (całkowicie) moja wina. Będę powoływać się na to, że „Microsoft jest liderem w branży w przypadku złych wyborów dotyczących nazewnictwa nowych produktów”. Podobnie jak Google. Czy kiedykolwiek próbowałeś szukać pomocy w Google Messages? [Westchnienie]
riderBill
70

Kliknij Eksploratora lub inne okno, które nie jest edytorem, a następnie naciśnij Ctrl+ M, jest to polecenie „Przełącz klawisz Tab przenosi fokus” na Skróty klawiaturowe.

Airton Gomes de Lima
źródło
2
Czy jest jakiś sposób, aby wyłączyć tę „funkcję”?
Alexander Ryan Baggett
1
@AlexanderRyanBaggett wystarczy usunąć skrót klawiszowy
Lamelas84
17

W moim przypadku zastosowałem się do tej porady i zmieniłem to ustawienie emmet w vscode na false:

"emmet.triggerExpansionOnTab": false

Otrzymywałem błąd Cannot read property 'value' of null. Natychmiast rozwiązało problem.

Lucas Basquerotto
źródło
12

Według stanu na grudzień 2018 r. W systemie macOS Mojave 10.14.2 przy użyciu VSCode 1.29.1 domyślne przypisanie klawiszy dla opcji „Przełącz klawisze tabulacji przenosi fokus” ustawione Command+Shift+M . Jeśli utkniesz z tym, użycie tej kombinacji klawiszy powinno rozwiązać problem.

Wykonaj, Command+K Command+Saby otworzyć Ustawienia skrótów klawiszowych, a następnie wyszukaj Toggle Tab Key Moves Focuslub editor.action.toggleTabFocusModejeśli chcesz zmienić kombinację klawiszy.

flux9998
źródło
1
W systemie Windows jest to po prostu Ctrl+Mdomyślnie Toggle Tab Key Moves Focus. I Dan, to odrobinę hiperboliczny, biorąc pod uwagę, że domyślnym formatem dokumentu w Visual Studio jest Ctrl + K, Ctrl + D - visualstudioshortcuts.com/2017
KymikoLoco
4

Używam kodu na Xfce - wykonałem następujące czynności, aby naprawić zachowanie klawisza Tab:

Plik -> Preferencje -> Ustawienia

wyszukaj „keyboard.dispatch”

skopiuj do prawego panelu i zmień wartość z „code” na „keyCode”

Załaduj ponownie kod

Sagi
źródło
2

Może przeszkadza inny program? Zamknięcie Teamviewer rozwiązało problem dla mnie.

Steven Delrue
źródło
Dla mnie to samo!!! Nigdy nie otwieram TeamViewera i przypadkowo zostawiłem go otwartego. Aby dodać więcej informacji: Miałem uruchomioną inną instancję VS Code, w której karta działała dobrze, podczas gdy w drugiej nie działała. Po zamknięciu TeamViewer karta działa w obu przypadkach!
Miloš Stanić
2

[Edytuj] Ta odpowiedź dotyczy MSVS (IDE, w przeciwieństwie do VS Code ). Wygląda na to, że Microsoft i Google starają się wybierać mylące nazwy dla nowych produktów. Na razie zostawię tutaj tę odpowiedź, podczas gdy ja (nadal) szukam równoważnego pytania dotyczącego przepełnienia stosu na temat MSVS . Daj mi znać w komentarzach, jeśli uważasz, że powinienem go usunąć. Lub lepiej, wskaż mi wersję MSVS tego pytania.

Ostatnio zainstalowałem MSVS 2017. Żadna z sugestii, które widziałem, nie rozwiązała problemu. Rozwiązanie, które wymyśliłem, działa dla MSVS 2015 i 2017. Dodaj komentarz poniżej, jeśli okaże się, że działa dla innych wersji.

W obszarze Narzędzia -> Opcje -> Edytor tekstu -> C / C ++ -> Formatowanie -> Ogólne, odznacz pole „Automatycznie wcięcie po wpisaniu tabulatora”. Wydaje się to sprzeczne z intuicją, ale rozwiązało to problem. wprowadź opis zdjęcia tutaj

riderBill
źródło
Dziękuję bardzo za tę poprawkę. Naprawdę szlifuje moje narzędzia, gdy oprogramowanie zaczyna uważać się za mądrzejszego od użytkownika - zwłaszcza gdy użytkownik powinien być.
hidefromkgb
Zapraszamy! W jakiej wersji MSVS działa to rozwiązanie?
riderBill
1

Upewnij się, że NIE jest zaznaczone:

[] Narzędzia | Opcje | Edytor tekstu | C / C ++ | Formatowanie | Automatyczne wcięcie na karcie

Daj mi znać, jeśli to pomogło!

Archont 808
źródło
Czy to jest związane z Visual Studio? Chyba zadaje się pytanie o VS Code.
Taha Paksu,
1

Dla tych z Was, którzy nie są zainteresowani spacją (- _ -) (- _ -)

  1. Wpisywanie klawiszy ⇥ Tab nie jest ustawione na nic, więc musisz to zrobić ręcznie

  2. Przejdź do Preferencje / Środowisko / Skróty klawiszowe i wyszukaj „ zakładkę

  3. Kliknij Edytuj wiązanie u dołu i naciśnij klawisz Tab.

  4. Naciśnij „ Zastosuj ”, a następnie „ Ok

  5. Klucz związany!

gooseberrytoptop
źródło
1

Wszystkie powyższe zawiodły dla mnie. Ale zauważyłem, że shift + ⇥ Tab działał zgodnie z oczekiwaniami (przerywając linię).

Poszukałem więc skrótu „Linia wcięcia” (który został przypisany do alt+ ctrl + cmd + 0), przypisałem go do tabulacji, a teraz znów jestem szczęśliwy.


Następnego ranka edytuj ...

Używam też tabu, aby akceptować sugestie fragmentów, więc ustawiłem „kiedy” w „Wcięcie linii” na editorTextFocus && !editorReadonly && !inSnippetMode && !suggestWidgetVisible.

FelDev
źródło
1
tak, nic powyżej ani poniżej nie działało .. dziękuję
naftalimich
1

Nazywaj mnie szalonym, ale zdarzyło mi się to również wcześniej, gdy klient TeamViewer przechwytuje klawisz TAB. Nie będziesz o tym wiedział, dopóki nie zamkniesz okna telewizora, które masz otwarte w tle. Dziwne, ale zdarzyło mi się to kilka razy.

vr_driver
źródło
-1

Nie jestem pewien, na jakim systemie operacyjnym jesteś, ale był znany problem z klawiszem tab w jednej z nowszych wersji VS Code dla Mac OS X. Błąd został naprawiony w najnowszej wersji (0.10.9).

W systemie Mac OS X można sprawdzić najnowszą aktualizację, otwierając VS Code, a następnie przechodząc do [Kod> Sprawdź aktualizacje].

Źródła i więcej informacji:

hxlnt
źródło
Najnowsza aktualizacja nie zrobiła tego dla mnie - ściągnąłem marcową wersję dla znawców i to działało świetnie.
benkraus