Existe-t-il une fonction de changement rapide des onglets dans Visual Studio Code?

326

La fonction actuelle de me donner une option de liste déroulante de l'onglet à choisir est tellement ennuyeuse. Y a-t-il une possibilité de le supprimer pour que les onglets fonctionnent comme dans un navigateur Web moderne.

yodalr
la source
8
Je ne saurais trop insister sur la gêne que cela représente. Avec VSCode et aussi d'autres éditeurs.
Kai Noack

Réponses:

588

Par défaut, Ctrl+ Tabdans Visual Studio Code fait défiler les onglets dans l'ordre le plus récent utilisé. C'est déroutant car cela dépend de l'état caché.

Les navigateurs Web parcourent les onglets dans l'ordre visible. C'est beaucoup plus intuitif.

Pour y parvenir dans Visual Studio Code, vous devez modifier keybindings.json. Utilisez la palette de commandes avec CTRL+SHIFT+P, entrez "Préférences: ouvrir les raccourcis clavier (JSON)" et appuyez sur Enter.

Ajoutez ensuite à la fin du fichier:

[
    // ...
    {
        "key": "ctrl+tab",
        "command": "workbench.action.nextEditor"
    },
    {
        "key": "ctrl+shift+tab",
        "command": "workbench.action.previousEditor"
    }
]

Alternativement, pour parcourir uniquement les onglets de la fenêtre actuelle / vue fractionnée, vous pouvez utiliser:

[
    {
        "key": "ctrl+tab",
        "command": "workbench.action.nextEditorInGroup"
    },
    {
        "key": "ctrl+shift+tab",
        "command": "workbench.action.previousEditorInGroup"
    }
]

Alternativement, vous pouvez utiliser Ctrl+ PageDown(Windows) ou Cmd+ Option+ Right(Mac).

SC_Chupacabra
la source
3
En fait, il n'imite pas le comportement déroulant. Avec ces raccourcis clavier, il vous suffit de naviguer dans les onglets vers la droite ( ctrl+tab) ou vers la gauche ( ctrl+shift+tab). Pour parcourir les onglets en fonction de l'historique, utilisez les éléments suivants { "key": "ctrl+tab", "command": "workbench.action.openPreviousRecentlyUsedEditor" }, { "key": "ctrl+shift+tab", "command": "workbench.action.openNextRecentlyUsedEditor" }:.
evenfrost
1
@GabrielZiegler Je sais, c'est ça. Firefox utilise également ce mode onglet.
Permana
1
@evenfrost, l'OP ne veut pas naviguer sur la base de l'historique, donc cette réponse est bonne.
Stephen Mariano Cabrera
4
Et qui ne fournit pas d'option pour changer ce comportement d'onglet, au lieu de la nécessité de modifier un fichier de raccourcis clavier?!
Kai Noack
2
Les gens qui veulent nous voir souffrir, c'est qui.
Frans
194

@Combii J'ai trouvé un moyen d'échanger

CMD + 1 , CMD + 2 , CMD + 3 avec CTRL + 1 , CTRL + 2 , CTRL + 3 , ...

Sous macOS, accédez à:

Code> Préférences> Raccourcis clavier

Sur cette page, cliquez sur le bouton en haut à droite de la page ...

modifier le bouton keybindings.json

et ajoutez la configuration ci-dessous, puis enregistrez.

[
    {
        "key": "cmd+0",
        "command": "workbench.action.openLastEditorInGroup"
    },
    {
        "key": "cmd+1",
        "command": "workbench.action.openEditorAtIndex1"
    },
    {
        "key": "cmd+2",
        "command": "workbench.action.openEditorAtIndex2"
    },
    {
        "key": "cmd+3",
        "command": "workbench.action.openEditorAtIndex3"
    },
    {
        "key": "cmd+4",
        "command": "workbench.action.openEditorAtIndex4"
    },
    {
        "key": "cmd+5",
        "command": "workbench.action.openEditorAtIndex5"
    },
    {
        "key": "cmd+6",
        "command": "workbench.action.openEditorAtIndex6"
    },
    {
        "key": "cmd+7",
        "command": "workbench.action.openEditorAtIndex7"
    },
    {
        "key": "cmd+8",
        "command": "workbench.action.openEditorAtIndex8"
    },
    {
        "key": "cmd+9",
        "command": "workbench.action.openEditorAtIndex9"
    },
    {
        "key": "ctrl+1",
        "command": "workbench.action.focusFirstEditorGroup"
    },
    {
        "key": "ctrl+2",
        "command": "workbench.action.focusSecondEditorGroup"
    },
    {
        "key": "ctrl+3",
        "command": "workbench.action.focusThirdEditorGroup"
    }
]

Vous pouvez maintenant utiliser CMD + [1-9] pour basculer entre les onglets et CTRL + [1-3] pour concentrer les groupes d'éditeurs! J'espère que cette réponse vous sera utile.

yiyuan lv
la source
4
alt + n le fait déjà sur Windows, je suis sûr qu'il existe un équivalent mac
Dominic
12
sur Mac, l'équivalent est control + n. Je trouve cela peu intuitif car la plupart des programmes utilisent par défaut cmd + n pour la navigation par onglets. Inverser les deux comportements signifie que vous pouvez compter sur la mémoire musculaire lorsque vous essayez de naviguer dans vos onglets.
Langlois.dev
Je pense que sur Mac, ils ne font que porter les paramètres de Windows avec une commande changeante pour contrôler certaines fonctions (par exemple, l'onglet de commutation) et n'ont pas porté l'autre (par exemple, ouvrir et fermer l'onglet du terminal). C'est très gênant.
alanwsx
6
De plus, pour la dernière version (avril 2019), vous pouvez simplement rechercher ces éléments ( workbench.action.openEditorAtIndex1) et les modifier. Pas besoin d'aller keybindings.json.
alanwsx
3
Depuis la version 1.38.1 (pour OSX), cela n'est plus à jour. Selon la documentation, allez sur Preferences > Keyboard Shortcutspuis cliquez sur l'icône à droite de la barre de titre de l'éditeur. Cela s'ouvrira keybindings.json.
Adam_G
51

les fenêtres

Lorsque vous utilisez Visual Studio Code sous Windows, vous pouvez utiliser CTRL + PAGE_UPpour basculer vers l'onglet précédent et CTRL + PAGE_DNbasculer vers l'onglet suivant.

Vous avez également la possibilité de basculer vers les onglets en fonction de leur index (relatif non nul). Vous pouvez le faire en appuyant longuement sur ALT, suivi d'un nombre (1 à 9).

macOS

Pour naviguer rapidement entre les onglets, maintenez la CMDtouche enfoncée, puis le numéro (1 à 9) de l'onglet vers lequel vous souhaitez basculer.

Vous avez également la possibilité de basculer entre l'onglet précédent / suivant via le CMD + ALT + LEFT/RIGHTraccourci clavier.

Veuillez noter que pour basculer vers un onglet qui se trouve dans un groupe d'éditeurs différent, vous devez d'abord basculer vers le groupe d'éditeurs souhaité.

Astuce de pro : Si vous n'êtes pas à l'aise avec l'une des liaisons de touches, vous pouvez les changer en ce qui vous convient le mieux!

Brynden Bielefeld
la source
2
CTRL + ALT + GAUCHE / DROITE et CTRL + nombre seulement copier les onglets dans le nouveau groupe d'onglets
yodalr
Les instructions étaient claires auparavant, cela ne fonctionne tout simplement pas sur WINDOWS. Lorsque j'appuie sur ctrl + alt + gauche - rien ne se passe et lorsque j'appuie sur ctrl + alt + droite, il déplace l'onglet dans les sections d'onglets secondaires sur la droite.
yodalr
2
@yodalr, sous Windows, pour faire défiler les onglets, vous appuyez sur CTRL + PAGE_UPou CTRL + PAGE_DN, selon la façon dont vous souhaitez faire défiler. CTRL + ALT + LEFTet neCTRL + ALT + RIGHT sont pas les raccourcis clavier que j'ai répertoriés pour Windows.
Brynden Bielefeld
6
Hmm, cela ne semble pas fonctionner comme décrit. Sur Mac, Cmd + Num bascule entre les groupes d'onglets (fenêtres divisées). Je veux le faire pour les onglets du même groupe. Serais-je capable de faire ça?
huggie
@ huggie Je vois le même comportement sur OSX. Avez-vous trouvé un moyen de remapper cela?
Préfixe
35

Si vous utilisez l' VSCodeVimextension, vous pouvez utiliser les raccourcis clavier Vim :

Onglet suivant: gt

Onglet précédent: gT

Onglet numéroté: nnngt

gabra
la source
31

Cela fonctionne également sur MAC OS :

Onglet précédent: Shift+ Cmd+[

Onglet suivant: Shift+ Cmd+]

yestema
la source
24

macOS - révisé 2017

EN 2017, les raccourcis clavier VS CODE sont passés à CTRL+ 1, CTRL+ 2, CTRL+ 3etc. pour basculer entre les onglets.

CMD+1, CMD+2, and CMD+3 basculer entre et créer tab groups

Alex Smith
la source
11
Est-il possible de le remplacer par au CMD+1, CMD+2, and CMD+3lieu de CTRL+1, CTRL+2, CTRL+3?
David
Et aussi CMD + ALT + LEFT/RIGHTpour simplement parcourir tous les onglets de tous les groupes.
Davos
10

les fenêtres

précédent

Ctrl+ Shift+Tab

Prochain

Ctrl + Tab

Mac OS

précédent

Shift+ Cmd+[

Prochain

Shift + Cmd +]

Un bleu
la source
votre réponse devrait être au top
outsider
5

Une meilleure utilisation approch est alt + alt + à droite et à gauche des touches pour naviguer comme JetBrains IDE WebStorm ne

Voici ma config. il comprend également la création de nouveaux fichiers et dossiers

    {
        "key": "ctrl+n",
        "command": "explorer.newFile"
    },
    {
        "key": "ctrl+shift+n",
        "command": "explorer.newFolder"
    },
    { 
        "key": "alt+left",
        "command": "workbench.action.previousEditor" 
    },
    { 
        "key": "alt+right",
        "command": "workbench.action.nextEditor" 
    }
Piyush Patel
la source
1
Remplacer alt + droite / gauche empêche le comportement par défaut de l'éditeur pour déplacer le curseur vers le mot précédent / suivant.
karni
3

pour linux ... j'utilise ctrl + pageUp ou pageDown

jmsalcido
la source
3

Visual Studio Code v1.35.0 vous permet de définir les séquences de touches ( Ctrl+ Tab) / ( Shift+ Ctrl+ Tab) pour basculer séquentiellement entre les éditeurs en liant ces séquences de touches aux commandes "View: Open Next Editor" et "View: Open Previous Editor", respectivement .

Sur macOS:

  1. Accédez à: Code> Préférences> Raccourcis clavier
  2. Recherchez ou accédez aux deux options suivantes:
    • Affichage: ouvrir l'éditeur suivant
    • Affichage: ouvrir l'éditeur précédent
  3. Modifiez les deux raccourcis clavier dans la séquence de touches souhaitée.
    • Affichage: ouvrir l'éditeur suivant -> ( Ctrl+ Tab)
    • Affichage: ouvrir l'éditeur précédent -> ( Shift+ Ctrl+ Tab)
  4. Vous rencontrerez probablement une liaison conflictuelle. Si tel est le cas, prenez note de la commande et réaffectez ou supprimez la liaison de clé existante.

Si vous vous trompez, vous pouvez toujours revenir à l'état par défaut pour une liaison donnée en cliquant avec le bouton droit sur n'importe quelle liaison de touche et en sélectionnant "Réinitialiser la liaison de touche".

m0nsoon
la source
1
Merci mec, je parcourais tout Internet pour ça!
Pall Arpad
2

Cela fonctionne également sur MAC OS :

Appuyez sur pour sélectionner un onglet spécifique: Control + 1 ou Control2,Control 3, etc.

Appuyez pour afficher / sélectionner tous les onglets possibles: Control+ Tab.

mdiiorio
la source
2

Carte-clé Linux pour correspondre au navigateur:

[
    {
        "key": "ctrl+0",
        "command": "workbench.action.lastEditorInGroup"
    },
    {
        "key": "ctrl+1",
        "command": "workbench.action.openEditorAtIndex1"
    },
    {
        "key": "ctrl+2",
        "command": "workbench.action.openEditorAtIndex2"
    },
    {
        "key": "ctrl+3",
        "command": "workbench.action.openEditorAtIndex3"
    },
    {
        "key": "ctrl+4",
        "command": "workbench.action.openEditorAtIndex4"
    },
    {
        "key": "ctrl+5",
        "command": "workbench.action.openEditorAtIndex5"
    },
    {
        "key": "ctrl+6",
        "command": "workbench.action.openEditorAtIndex6"
    },
    {
        "key": "ctrl+7",
        "command": "workbench.action.openEditorAtIndex7"
    },
    {
        "key": "ctrl+8",
        "command": "workbench.action.openEditorAtIndex8"
    },
    {
        "key": "ctrl+9",
        "command": "workbench.action.openEditorAtIndex9"
    },
    {
        "key": "alt+1",
        "command": "workbench.action.focusFirstEditorGroup"
    },
    {
        "key": "alt+2",
        "command": "workbench.action.focusSecondEditorGroup"
    },
    {
        "key": "alt+3",
        "command": "workbench.action.focusThirdEditorGroup"
    }
]
Hugomosh
la source
1

Une autre façon de changer rapidement les onglets serait dans VSCode 1.45 (avril 2020)

Changer d'onglet à l'aide de la molette de la souris

Lorsque vous utilisez la molette de la souris pour faire défiler les onglets de l'éditeur, vous ne pouvez actuellement pas basculer vers l'onglet, mais uniquement révéler les onglets qui ne sont pas visibles.

Maintenant, avec un nouveau paramètre, workbench.editor.scrollToSwitchTabsce comportement peut être modifié si vous le changez en true.

https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_45/scroll-tabs.gif

Remarque: vous pouvez également appuyer sur la Shifttouche et la maintenir enfoncée pendant le défilement pour obtenir le comportement opposé (c'est-à-dire que vous pouvez passer aux onglets même si ce paramètre est désactivé).

VonC
la source
0

Lorsque vous utilisez Visual Studio Code sur Linux / Windows, vous pouvez utiliser CTRL + PAGE_UP pour basculer vers l'onglet précédent et CTRL + PAGE_DN pour basculer vers l'onglet suivant. Vous avez également la possibilité de basculer vers les onglets en fonction de leur index (relatif non nul). Pour ce faire, maintenez enfoncée la touche ALT, suivie d'un nombre (1 à 9).

Pour plus de détails: cliquez ici

Shiv Kumar Singh
la source
0

Utilisez des images-clés de texte sublime. Beaucoup plus intuitif.

km

Importer des images clés de texte sublime:

Name: Sublime Text Keymap and Settings Importer
Id: ms-vscode.sublime-keybindings
Description: Import Sublime Text settings and keybindings into VS Code.
Version: 4.0.3
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings
relik
la source
0

@SC_Chupacabra a la bonne réponse pour modifier le comportement.

Je préfère généralement CTRL+ PAGE UP / DOWNpour ma navigation, plutôt que d'utiliser la touche TAB.

    {
        "key": "ctrl+pageUp",
        "command": "workbench.action.nextEditor"
    },
    {
        "key": "ctrl+pageDown",
        "command": "workbench.action.previousEditor"
    }
openwonk
la source
0

Je n'ai pas trouvé de message pour VS Community, je vais donc publier ma solution ici.


Tout d'abord, vous devez aller dans Outils -> Options -> Environnement -> Clavier, puis recherchez la commande Window.NextTab. Près du bas, il devrait indiquer "Utiliser un nouveau raccourci dans:". Réglez-le sur Global (devrait être par défaut), puis sélectionnez la zone de texte à droite et appuyez sur Ctrl+ Tab. Supprimez tous les raccourcis actuels pour la commande sélectionnée et appuyez sur Attribuer. Pour Ctrl+ Shift+ Tab, la commande devrait être Window.PreviousTab.

J'espère que cela vous aidera :) S'il y a un article séparé pour VS Community, je serais heureux de déplacer ce message.

supsm
la source