1132 votes

Changer le focus entre l'éditeur et le terminal intégré

Est-ce que quelqu'un sait quel raccourci clavier (Mac et Linux) permet de basculer le focus entre l'éditeur et le terminal intégré dans Visual Studio Code ?

78 votes

ctrl + ' ` ' sera le meilleur #-> Linux

47 votes

Ctrl + ' ` ' fonctionne également sur OS X sans aucun autre raccourci clavier supplémentaire.

19 votes

ctrl + ' ` ' fonctionne parfaitement avec Windows aussi !

1890voto

wgj Points 5545

Alors qu'il existe de nombreux bascules modaux et raccourcis de navigation pour VS Code, il n'y en a pas spécifiquement pour "passer de l'éditeur au terminal, et vice versa". Cependant, vous pouvez composer les deux étapes en surchargeant la key et en utilisant la clause when correspondante.


Solution

Vous pouvez obtenir l'effet recherché en ajoutant les paramètres appropriés au fichier keybindings.json. Voici les étapes requises :

  1. Ouvrez la Palette de commandes (Ctrl+Shift+P Windows/Linux ou P Mac).

  2. Tapez "Préférences: Ouvrir les raccourcis clavier (JSON)" et appuyez sur Entrée.

  3. Ajoutez les entrées suivantes au fichier keybindings.json:

    // Basculer entre le focus du terminal et de l'éditeur { "key": "ctrl+", "command": "workbench.action.terminal.focus" }, { "key": "ctrl+", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus" }

Avec ces raccourcis, vous pouvez vous concentrer entre l'éditeur et le Terminal intégré en utilisant la même combinaison de touches.


REMARQUE

La combinaison de touches suggérée ici est désormais intégrée par défaut dans VSCode (à partir de 1.72.2, peut-être plus tôt). Vérifiez si ctrl + ` fonctionne avant d'essayer de l'ajouter.

REMARQUE

Dans les versions modernes de VS Code (à partir de 2022), le fichier Raccourcis clavier par défaut (JSON) est en lecture seule, c'est pourquoi pour les paramètres personnalisés, vous devez éditer un fichier séparé dédié keybindings.json.

Plus d'informations peuvent être trouvées sur la page officielle de documentation de Visual Studio:

66 votes

De loin, c'est la meilleure réponse en tant que solution justifiée le plus ergonomiquement: étendre la liaison de touche existante. Bravo!

12 votes

Merci, cela a bien fonctionné et cela permet de gagner beaucoup de temps. Pour les utilisateurs de claviers internationaux : "ctrl+`" peut être spécifié comme "ctrl+oem_3".

1 votes

@wgj, Je pense que VS Code le fait par défaut, du moins pour le moment (avec la dernière mise à jour). Ou est-ce que j'ai manqué quelque chose?

217voto

joshua wray Points 251

Ctrl+J fonctionne; mais montre/aussi cache la console.

cmd+J pour mac

33 votes

Cmd+J sur MacOS.

4 votes

Ne fonctionne pas sous Ubuntu Linux 16.04 (Xenial) + VSC 1.45.0

2 votes

Vous pouvez également utiliser le même hack de la réponse acceptée pour cmd+j { "key": "cmd+j", "command": "workbench.action.terminal.focus"}, { "key": "cmd+j", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"} De cette façon, je n'ai pas besoin de retirer mes mains du clavier.

79voto

schmudu Points 177

Un peu en retard 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 touches séparées pour ouvrir/fermer le terminal et basculer le focus entre les fenêtres.

6 votes

Mapper alt+` semble être buggy - suivi sur github.com/Microsoft/vscode/issues/41024#issuecomment-363096‌​692

3 votes

J'ai trouvé alt plus facile à presser que ctrl, donc dans ma configuration c'est l'inverse.

0 votes

Il s'agit d'une excellente proposition, bien que j'aie opté pour conserver les liaisons originales et utiliser alt pour changer de focus.

36voto

Shubham Jain Points 388

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

  1. ouvrez le panneau des raccourcis clavier [ctrl + k , ctrl + s]
  2. Recherchez Focus Terminal

entrer la description de l'image ici

  1. Définissez votre raccourci

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

entrer la description de l'image ici

0 votes

Comme ils fournissent des mappings de clavier supplémentaires, cette réponse est plus simple et plus rapide

0 votes

Cela met l'accent sur le premier groupe d'éditeurs - cela pourrait ne pas être ce que l'auteur de la question veut. Il veut probablement le groupe d'éditeurs actuel/actif.

1 votes

C'est la réponse pour 2020 et tout ce qui est >= 1.45.0

25voto

Sam Xu Points 181

J'ai configuré la mienne comme suit car j'ai trouvé ctrl+` un peu difficile à presser.

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

J'ai également configuré les éléments suivants pour passer d'un groupe d'éditeurs à l'autre.

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

Par ailleurs, j'ai configuré Caps Lock en tant que ctrl sur Mac à partir de Préférences Système => Clavier =>Touches de modificateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X