Basculer le focus entre l'éditeur et le terminal intégré dans Visual Studio Code

516

Quelqu'un connaît-il le raccourci clavier (Mac et Linux) pour basculer le focus entre l'éditeur et le terminal intégré dans Visual Studio Code?

Abhijeet
la source
26
ctrl + '' 'sera le meilleur#-> Linux
muthukumar helius
14
ctrl + '' 'fonctionne également sur OS X sans aucune liaison de clé supplémentaire.
nataliastanko
2
ctrl+ '' 'fonctionne aussi parfaitement avec Windows!
Ehtesham Z

Réponses:

987

Bien qu'il y ait beaucoup de bascules modales et de raccourcis de navigation pour VS Code, il n'y en a pas spécifiquement pour "passer de l'éditeur au terminal, et inversement". Cependant, vous pouvez composer les deux étapes en surchargeant la keyet en utilisant la when clause .

Ouvrez le fichier keybindings.json à partir de l'éditeur: CMD-SHIFT-P -> Préférences: ouvrir le fichier de raccourcis clavier et ajoutez ces entrées:

// Toggle between terminal and editor focus
{ "key": "ctrl+`", "command": "workbench.action.terminal.focus"},
{ "key": "ctrl+`", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}

Avec ces raccourcis, je vais me concentrer entre l'éditeur et le terminal intégré en utilisant la même touche.

wgj
la source
21
De loin, c'est la meilleure réponse car c'est la solution la plus ergonomiquement justifiée: étendre le raccourci clavier existant. Gloire!
mloskot
7
Merci, cela a bien fonctionné et fait gagner beaucoup de temps. Pour les utilisateurs de claviers internationaux: "ctrl+`"peut être spécifié comme "ctrl+oem_3".
esel
7
Le comportement de @Roman 1.18.0 est certainement une amélioration depuis que j'ai écrit ma réponse, mais je pense que ce qui précède est encore meilleur. La différence est que le terminal ne disparaîtra pas lors de l'utilisation de la touche, seule la mise au point se déplacera. Il se trouve que j'aime garder mon terminal affiché :)
wgj
38
Notez que ces raccourcis doivent être collés dans le keybindings.jsonfichier.
pseudomarvin
42
Ouvrez le fichier keybindings.json depuis l'éditeur: CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File. Aussi une bonne ressource: code.visualstudio.com/docs/getstarted/keybindings
derFunk
174

ctrl+` : Pour se concentrer sur le terminal intégré

ctrl+1 : Pour se concentrer sur l'éditeur (si la commande editor-2 serait ctrl+ 2)

entrez la description de l'image ici

Plus d'informations: http://www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html

Rahul Shukla
la source
5
où l'enfer est `sur n'importe quel clavier 🙄
Ewoks
7
juste en dessous de la touche esc :)
Rahul Shukla
6
Je vous remercie. Ctrl + 1 est ce dont j'ai besoin, car dans certains cas, ctrl + `ouvrira un terminal externe et ne pourra plus l'utiliser pour revenir à l'éditeur VSCode
Thang Nguyen
2
réponse la plus simple et la plus précise à mon humble avis.
Tomas
3
Control + '~' fonctionnera pour le basculement entre les deux. J'utilise depuis un certain temps.
surender pal
75

Ctrl+ Jtravaux; mais affiche / masque également la console.

Joshua Wray
la source
8
Cmd + J sur MacOS.
Miscreant
2
La réponse la plus simple mais qui fonctionne - devrait être acceptée à mon humble avis.
Karol Selak
Ne fonctionne pas sous Ubuntu Linux 16.04 (Xenial) + VSC 1.45.0
Aldo Bassanini
55

Un peu tard pour le jeu mais j'ai configuré le mien comme suit dans le keybindings.json:

{
    "key": "ctrl+`",
    "command": "workbench.action.terminal.focus",
    "when": "editorTextFocus"
},
{
    "key": "ctrl+`",
    "command": "workbench.action.focusActiveEditorGroup",
    "when": "terminalFocus"
},
{
    "key": "alt+`",
    "command": "workbench.action.terminal.toggleTerminal"
}

Je voulais des clés séparées pour ouvrir / fermer le terminal et basculer le focus entre les fenêtres.

schmudu
la source
4
Le mappage alt+`semble être bogué
Ben Creasy
2
J'ai trouvé altplus facile d'appuyer que ctrl, donc dans ma configuration, c'est l'inverse.
xji
C'est une excellente proposition, même si j'ai opté pour conserver les liaisons d'origine et altpour changer de focus.
M. Duhart
@BenCreasy Ce n'est que pour macOS, sur Windows, cela fonctionne très bien.
Kotauskas
24

Depuis la version: 1.26.1 (linux), le raccourci n'est pas défini par défaut. Pour définir le raccourci

  1. ouvrir le panneau des raccourcis clavier [ctrl + k, ctrl + s]
  2. Rechercher le terminal Focus

entrez la description de l'image ici

  1. Définissez votre raccourci

Pour l'éditeur, le focus est déjà défini par défaut.

entrez la description de l'image ici

Shubham Jain
la source
Comme ils fournissent des mappages de clavier supplémentaires, cette réponse est plus simple et plus rapide
LookAheadAtYourTypes
Cela concentre le premier groupe d'éditeurs - ce n'est peut-être pas ce que souhaite l'OP. Veut probablement le groupe d'éditeur actuel / actif.
Mark
1
C'est la réponse pour 2020 et n'importe quoi> = 1.45.0
chrismarx
Génial. Merci pour la clarté ici.
Fiddy Bux
18

J'ai configuré le mien comme suit depuis que j'ai trouvé ctrl+ `est un peu difficile à appuyer.

{
  "key": "ctrl+k",
  "command": "workbench.action.focusActiveEditorGroup",
  "when": "terminalFocus"
},
{
  "key": "ctrl+j",
  "command": "workbench.action.terminal.focus",
  "when": "!terminalFocus"
}

J'ai également configuré ce qui suit pour passer d'un groupe d'éditeurs à un autre.

{
  "key": "ctrl+h",
  "command": "workbench.action.focusPreviousGroup",
  "when": "!terminalFocus"
},
{
  "key": "ctrl+l",
  "command": "workbench.action.focusNextGroup",
  "when": "!terminalFocus"
}

Soit dit en passant, je configuré Caps Lockpour ctrlMac du System Preferences => keyboard =>Modifier Keys.

Sam Xu
la source
8

La liaison de touches par défaut pour basculer le terminal intégré est "Ctrl +` "selon la page de documentation des raccourcis clavier vscode . Si vous n'aimez pas ce raccourci, vous pouvez le modifier dans votre fichier de raccourcis clavier en ajoutant quelque chose de similaire à:

{ "key": "ctrl+l", "command": "workbench.action.terminal.toggleTerminal" }

Il ne semble pas y avoir de raccourci clavier par défaut pour simplement focaliser le panneau inférieur. Donc, si vous ne souhaitez pas basculer le panneau inférieur, vous devrez ajouter quelque chose de similaire à ce qui suit dans votre fichier de raccourcis clavier:

{ "key": "ctrl+t", "command": "workbench.action.focusPanel" }
alexriedl
la source
Parfait merci! Je cherche la deuxième réponse que vous avez mentionnée. Si quelqu'un s'interroge sur le raccourci clavier pour remettre le focus sur l'éditeur, c'est: Commande + 1 (sur Mac)
Abhijeet
Je pense que focusPanelc'est pour la région générale (inclure des choses comme "Problèmes", "Sortie" et "Debug Console". Il y a aussi une action spécifique pour le Terminal Intégré workbench.action.terminal.focus.
wgj
8

Essayez d'utiliser ctrl + ` pour basculer la visibilité du terminal et par conséquent basculer le focus.

Gaurav Grover
la source
3

N'est pas exactement ce qui est demandé, mais je l'ai trouvé très utile et connexe.

Si quelqu'un souhaite passer d'un terminal à un autre terminal également ouvert dans le panneau de terminal d'intégration de Visual Studio, vous pouvez rechercher:

Terminal: Focus Next Terminal

Ou ajoutez le raccourci clavier suivant et accélérez-le avec la combinaison de touches.

  {
    "key": "alt+cmd+right",
    "command": "workbench.action.terminal.focusNext",
    "when": "terminalFocus"
  },
  {
    "key": "alt+cmd+left",
    "command": "workbench.action.terminal.focusPrevious",
    "when": "terminalFocus"
  },

J'espère que cela aide quelqu'un d'autre.

robertovg
la source
3

La réponse de Shubham Jain est la meilleure option maintenant en utilisant les raccourcis clavier intégrés.

J'ai cartographié entrez la description de l'image ici

à Ctrl+;

et remappé entrez la description de l'image ici

à Ctrl+L

De cette façon, vous pouvez déplacer le focus entre le terminal et l'éditeur, et basculer le terminal à proximité.

Jim
la source
Cela l'a résolu pour moi! Raccourcis clavier -> Terminal: Focus Terminal ( workbench.action.terminal.focus ) -> a modifié le raccourci clavier selon la combinaison souhaitée. Fonctionnant sur vscode Insiders 1.43.0
jeppoo1
2

Généralement, le code vs utilise ctrl+jpour ouvrir Terminal, j'ai donc créé une liaison de touches pour basculer avec une ctrl+kcombinaison, comme ci-dessous à keybindings.json:

[    
    {
        "key": "ctrl+k",
        "command": "workbench.action.terminal.focus"
    },
    {
        "key": "ctrl+k",
        "command": "workbench.action.focusActiveEditorGroup",
        "when": "terminalFocus"
    }
]
felipealvesgnu
la source
0

SOLUTION SIMPLE WINDOWS POUR TOUTE DISPOSITION DE CLAVIER (peut fonctionner pour d'autres OS mais non testé)

J'utilise un clavier finlandais donc rien de ce qui précède ne fonctionnait mais cela devrait fonctionner pour tous les claviers.

  • Focus du terminal: passez votre souris sur le texte du terminal dans le terminal intégré . Le raccourci pour se concentrer sur le terminal apparaîtra - le mien, par exemple, dit CTRL + ö.
  • Focus éditeur: comme mentionné ci-dessus, utilisez CTRL + 1.
JStrahl
la source
-1

Je l'ai fait en allant dans la configuration> Raccourcis clavier, puis dans la section où il donne un terminal de focus de type barre de recherche et sélectionnez l'option. Il vous demandera de taper la combinaison que vous souhaitez définir pour cette action. Fais le. En ce qui concerne l'éditeur focus tapez "éditeur focus" dans la barre de recherche et tapez la touche souhaitée. SI vous ajoutez très bien une clé. il peut être supprimé en modifiant jason comme mentionné dans les commentaires ci-dessus

Mahad Ali
la source
-1

control + '~' fonctionnera pour basculer entre les deux. et ' ' 'est juste au-dessus du bouton de tabulation.

surender pal
la source