La clé d'onglet de code de Visual Studio n'insère pas d'onglet

333

J'utilise Visual Studio Code comme éditeur pour Unity. J'ai fait une recherche sur Google, mais je n'ai rien trouvé sur mon problème.

Le problème est simple, appuyer ⇥ Tabsur l'éditeur ne fait rien. Je m'attends à ce qu'il insère 4 espaces.

Quelqu'un sait ce que je peux faire pour ⇥ Tabtravailler comme prévu?

vinzee
la source
ça se reproduit dans les initiés ...
Bruce Lee
8
J'ai eu un problème où tab pouvait simplement tabuler en dehors de l'éditeur (naviguer entre les éléments de l'interface utilisateur). Le redémarrage de l'éditeur l'a corrigé.
Rivenfall
Ne répond pas aux questions opérationnelles, mais pour quiconque atterrit ici après avoir recherché "l'onglet de Visual Studio ne fonctionne pas" ou a rencontré un problème en appuyant sur Tab dans Visual Studio, sélectionne le bloc au lieu d'ajouter une indentation. Vous pouvez vous référer à cette réponse de Karel Tamayo
Justin Lessard
Reste un problème dans le code v1.45.1 à partir de juin 2020. La solution consiste à supprimer le Toggle Tab Key Moves Focusraccourci clavier de Ctrl + M(voir la réponse de @Addison). Étrange «fonctionnalité».
AlainD

Réponses:

949

J'avais accidentellement activé un mode différent pour la touche de tabulation. Corrigé en appuyant sur Ctrl+ M.

À partir des documents Visual Studio Code Keybinding :

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

Le mode de contrôle de l'onglet actuel devrait également apparaître dans la barre d'état:

entrez la description de l'image ici

pypmannetjies
la source
28
Cela m'est arrivé quand j'ai essayé d'utiliser le code collapse ( Ctrl + M, Ctrl + O). THX.
nom-intéressant-ici
3
Qu'est-ce que c'est Setting Focus ?
madhu131313
9
Il y a un "Tab Moves Focus" vert vif sur la barre d'état en bas si vous avez appuyé par erreur sur Ctrl + M.
Jannunen
3
@Jannunen vous avez raison, malheureusement pour nous qui avons des écrans de 25 pouces, personne ne remarquera cette toute petite chose dans le coin ...
strwoc
3
mais pourquoi?
hormberg
116

Pour résoudre le problème

En appuyant sur ctrl+ M , la ⇥ Tab touche déplace le focus au lieu d'insérer un ⇥ Tab caractère.
Désactivez-le en appuyant à nouveau sur le raccourci.

Pour désactiver le raccourci

  1. Ouvrez "Raccourcis clavier" avec ctrl+ K, puis ctrl+ S.
    Ou allez dans Fichier> Préférences> Raccourcis clavier .
  2. Recherchez toggle tab key moves focus.
  3. Clic droit, Remove Keybinding.
Addison
la source
3
Merci pour ça! J'utilise ctrl + m-> ctrl + k-> ctrl + 0pour réduire le code et presque tous les jours je casse accidentellement mon onglet avant :)
ttugates
Merci mec, ça marche vraiment. J'ai oublié que j'ai appuyé sur les Ctrl + mtouches.
iFart
Je viens d'installer MSVS 2019. Je ne vois pas de préférences sous l'onglet fichier. ctrl-k, ctrl-s ouvre une liste d'extraits de code. Je ne vois pas d'option "basculer la touche de tabulation pour déplacer le focus". Quelle version de MSVS utilisez-vous?
riderBill
1
@riderBill - Il s'agit du dernier code VS 1.39.2 (2019-10-15). Vous utilisez Microsoft Visual Studio , à ne pas confondre avec Visual Studio Code .
Addison
Oh. <: ^ | Mon erreur. Mais pas (entièrement) ma faute. Je plaiderai "Microsoft est un leader de l'industrie dans les mauvais choix pour nommer de nouveaux produits." Tout comme Google. Avez-vous déjà essayé de rechercher de l'aide sur Google Messages? [Soupir]
riderBill
70

Cliquez sur l'explorateur ou sur toute autre fenêtre qui n'est pas l'éditeur puis appuyez sur Ctrl+ M, c'est la commande "Toggle Tab Key Moves Focus" sur les raccourcis clavier.

Airton Gomes de Lima
la source
2
Existe-t-il un moyen de désactiver cette "fonctionnalité"?
Alexander Ryan Baggett
1
@AlexanderRyanBaggett vient de supprimer le raccourci clavier
Lamelas84
17

Dans mon cas, j'ai suivi ce conseil et changé ce paramètre emmet dans vscode en false:

"emmet.triggerExpansionOnTab": false

Je recevais l'erreur Cannot read property 'value' of null. Cela a résolu le problème immédiatement.

Lucas Basquerotto
la source
12

Depuis décembre 2018 sur macOS Mojave 10.14.2 à l'aide de VSCode 1.29.1, la liaison de touches par défaut pour 'Toggle Tab Key Moves Focus' est définie sur Command+Shift+M . Si vous êtes coincé avec cela, l'utilisation de cette combinaison de touches devrait résoudre le problème.

Faites Command+K Command+Spour afficher les paramètres des raccourcis clavier, puis recherchez Toggle Tab Key Moves Focusou editor.action.toggleTabFocusModesi vous souhaitez modifier la combinaison de touches.

flux9998
la source
1
Sous Windows, c'est juste Ctrl+Mpar défaut Toggle Tab Key Moves Focus. Et Dan, c'est un peu hyperbolique, étant donné que la valeur par défaut dans Visual Studio pour formater un document est en fait Ctrl + K, Ctrl + D - visualstudioshortcuts.com/2017
KymikoLoco
4

J'utilise du code sur xfce - a fait ce qui suit pour corriger le comportement de la touche Tab:

Fichier -> Préférences -> Paramètres

rechercher "keyboard.dispatch"

copier dans le panneau de droite et changer la valeur de "code" en "keyCode"

Recharger le code

Sagi
la source
2

Peut-être qu'un autre programme interfère? La fermeture de Teamviewer a résolu le problème pour moi.

Steven Delrue
la source
Pareil pour moi!!! Je n'ouvre jamais un TeamViewer et je l'ai accidentellement laissé ouvert. Pour ajouter plus d'informations: j'avais une autre instance de VS Code en cours d'exécution, et l'onglet fonctionnait bien, tandis que l'autre onglet ne fonctionnait pas. Après avoir fermé TeamViewer, l'onglet fonctionne dans les deux cas!
Miloš Stanić
2

[Modifier] Cette réponse est pour MSVS (l'IDE, par opposition au code VS ). Il semble que Microsoft et Google se mettent en quatre pour choisir des noms déroutants pour les nouveaux produits. Je vais laisser cette réponse ici pour l'instant, pendant que je (continue de) chercher la question de stackoverflow équivalente sur MSVS . Faites-moi savoir dans les commentaires si vous pensez que je devrais le supprimer. Ou mieux, pointez-moi vers la version MSVS de cette question.

J'ai installé MSVS 2017 récemment. Aucune des suggestions que j'ai vues n'a résolu le problème. La solution que j'ai trouvée fonctionne pour MSVS 2015 et 2017. Ajoutez un commentaire ci-dessous si vous trouvez que cela fonctionne pour d'autres versions.

Sous Outils -> Options -> Éditeur de texte -> C / C ++ -> Formatage -> Général, essayez de décocher la case "Retrait automatique lorsque je tape un onglet". Cela semble contre-intuitif, mais cela a résolu le problème pour moi. entrez la description de l'image ici

riderBill
la source
Merci beaucoup pour cette correction. Cela me fait vraiment mal quand un logiciel commence à se considérer plus intelligent que l'utilisateur - en particulier lorsque l'utilisateur est censé l'être.
hidefromkgb
Vous êtes les bienvenus! Dans quelle (s) version (s) de MSVS cette solution fonctionne-t-elle pour vous?
riderBill
1

Assurez-vous que ceci n'est PAS vérifié:

[] Outils | Options | Éditeur de texte | C / C ++ | Formatage | Retrait automatique sur l'onglet

Faites-moi savoir si cela a aidé!

Archon 808
la source
Est-ce lié à Visual Studio? La question est posée pour VS Code, je suppose.
Taha Paksu
1

Pour ceux d'entre vous qui ne connaissent pas cette vie de barre d'espace (- _ -) (- _ -)

  1. Le raccourci clavier pour ⇥ Tab n'est défini sur rien, vous devez donc le faire manuellement

  2. Accédez à Préférences / Environnement / Raccourcis clavier et recherchez " onglet "

  3. Cliquez sur Modifier la liaison en bas et appuyez sur la touche de tabulation.

  4. Appuyez sur " Appliquer " puis " OK "

  5. Clé liée!

groseille à maquereau
la source
1

Tout ce qui précède a échoué pour moi. Mais j'ai remarqué shift +⇥ Tab fonctionnait comme prévu (dépassant la ligne).

J'ai donc cherché le raccourci "Indent Line" (qui a été assigné à alt+ ctrl + cmd + 0), je l'ai assigné à tabulation, et maintenant je suis de nouveau heureux.


Édition du matin suivant ...

J'utilise également tab pour accepter les suggestions d'extraits, j'ai donc défini le "quand" de "Indent Line" sur editorTextFocus && !editorReadonly && !inSnippetMode && !suggestWidgetVisible.

FelDev
la source
1
oui, rien au-dessus ou en dessous n'a fonctionné .. merci
naftalimich
1

Appelez-moi fou, mais je l'ai déjà fait auparavant, où le client TeamViewer détourne la clé TAB. Vous ne le saurez pas jusqu'à ce que vous fermiez la fenêtre du téléviseur que vous avez ouverte en arrière-plan. Bizarre, mais ça m'est arrivé plusieurs fois.

vr_driver
la source
-1

Vous ne savez pas quel système d'exploitation vous utilisez, mais il y avait un problème connu avec la touche de tabulation sur l'une des versions les plus récentes de VS Code pour Mac OS X. Le bogue a été corrigé dans la dernière version (0.10.9).

Sur Mac OS X, vous pouvez vérifier la dernière mise à jour en ouvrant VS Code puis en allant dans [Code> Rechercher les mises à jour].

Sources et plus d'informations:

hxlnt
la source
La dernière mise à jour ne l'a pas fait pour moi - j'ai retiré la version de mars des initiés et cela a très bien fonctionné.
benkraus