Gibt es in Visual Studio Code eine Funktion zum Ändern von Registerkarten?

324

Die derzeitige Funktion, mir eine Dropdown-Option für die Auswahl der Registerkarte zu geben, ist einfach so ärgerlich. Gibt es eine Möglichkeit, es zu entfernen, damit die Registerkarten wie in einem modernen Webbrowser funktionieren.

Yodalr
quelle
8
Ich kann gar nicht genug betonen, wie nervig das ist. Mit VSCode und anderen Editoren.
Kai Noack

Antworten:

586

Standardmäßig durchläuft Ctrl+ Tabin Visual Studio Code die Registerkarten in der Reihenfolge der zuletzt verwendeten. Dies ist verwirrend, da es vom verborgenen Zustand abhängt.

Webbrowser durchlaufen Registerkarten in sichtbarer Reihenfolge. Das ist viel intuitiver.

Um dies in Visual Studio Code zu erreichen, müssen Sie bearbeiten keybindings.json. Verwenden Sie die Befehlspalette mit CTRL+SHIFT+P, geben Sie "Einstellungen: Tastaturkürzel (JSON) öffnen" ein und drücken Sie Enter.

Fügen Sie dann am Ende der Datei Folgendes hinzu:

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

Alternativ können Sie Folgendes verwenden, um nur durch die Registerkarten des aktuellen Fensters / der geteilten Ansicht zu blättern:

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

Alternativ können Sie Ctrl+ PageDown(Windows) oder Cmd+ Option+ Right(Mac) verwenden.

SC_Chupacabra
quelle
3
Tatsächlich ahmt es kein Dropdown-Verhalten nach. Mit diesen Tastenkombinationen navigieren Sie einfach mit den Registerkarten nach rechts ( ctrl+tab) oder links ( ctrl+shift+tab). Verwenden Sie zum Navigieren in Registerkarten basierend auf dem Verlauf Folgendes : { "key": "ctrl+tab", "command": "workbench.action.openPreviousRecentlyUsedEditor" }, { "key": "ctrl+shift+tab", "command": "workbench.action.openNextRecentlyUsedEditor" }.
Evenfrost
1
@ GabrielZiegler Ich weiß, richtig. Firefox verwendet auch diesen Registerkartenmodus.
Permana
1
@evenfrost Das OP möchte nicht basierend auf dem Verlauf navigieren, daher ist diese Antwort gut.
Stephen Mariano Cabrera
4
Und wer bietet keine Option zum Ändern dieses Registerkartenverhaltens, sondern die Notwendigkeit, eine Tastenkombinationsdatei zu bearbeiten?!
Kai Noack
2
Leute, die uns leiden sehen wollen, das ist wer.
Frans
192

@Combii Ich habe einen Weg gefunden zu tauschen

CMD + 1 , CMD + 2 , CMD + 3 mit STRG + 1 , STRG + 2 , STRG + 3 , ...

Gehen Sie in macOS zu:

Code> Einstellungen> Tastaturkürzel

Klicken Sie auf dieser Seite auf die Schaltfläche oben rechts auf der Seite ...

Bearbeiten Sie die Schaltfläche keybindings.json

Fügen Sie die unten stehende Konfiguration hinzu und speichern Sie sie.

[
    {
        "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"
    }
]

Sie können jetzt CMD + [1-9] verwenden, um zwischen Registerkarten zu wechseln, und STRG + [1-3], um Editorgruppen zu fokussieren! Hoffe diese Antwort ist hilfreich.

yiyuan lv
quelle
4
alt + n macht das schon unter Windows, ich bin sicher, es gibt ein Mac-Äquivalent
Dominic
12
auf dem Mac ist das Äquivalent control + n. Ich finde das nicht intuitiv, da die meisten Programme für die Tab-Navigation standardmäßig cmd + n verwenden. Wenn Sie die beiden Verhaltensweisen umschalten, können Sie sich beim Navigieren durch Ihre Registerkarten auf das Muskelgedächtnis verlassen.
Langlois.dev
Ich denke, auf dem Mac portieren sie nur Windows-Einstellungen mit Änderungsbefehlen, um einige Funktionen zu steuern (z. B. Registerkarte wechseln) und portieren die andere nicht (z. B. Registerkarte öffnen und schließen). Dies ist sehr unpraktisch.
Alanwsx
6
Für die neueste Version (Apr2019) können Sie einfach nach diesen Elementen suchen ( workbench.action.openEditorAtIndex1) und sie ändern. Keine Notwendigkeit zu gehen keybindings.json.
Alanwsx
3
Ab Version 1.38.1 (für OSX) ist dies veraltet. Gehen Sie laut Dokumentation zu Preferences > Keyboard Shortcutsund klicken Sie dann auf das Symbol rechts in der Titelleiste des Editors. Dies wird geöffnet keybindings.json.
Adam_G
51

Windows

Wenn Sie Visual Studio Code unter Windows verwenden, können Sie CTRL + PAGE_UPzur vorherigen Registerkarte und CTRL + PAGE_DNzur nächsten Registerkarte wechseln.

Sie können auch zu Registerkarten wechseln, die auf ihrem Index (nicht Null relativ) basieren. Sie können dies tun, indem Sie gedrückt halten ALT, gefolgt von einer Zahl (1 bis 9).

Mac OS

Um schnell zwischen den Registerkarten zu navigieren, halten Sie die CMDTaste gedrückt, gefolgt von der Nummer (1 bis 9) der Registerkarte, zu der Sie wechseln möchten.

Sie haben auch die Möglichkeit, über die CMD + ALT + LEFT/RIGHTTastenkombination zwischen der vorherigen und der nächsten Registerkarte zu wechseln .

Bitte beachten Sie, dass Sie zuerst zur gewünschten Editorgruppe wechseln müssen, um zu einer Registerkarte zu wechseln, die sich in einer anderen Editorgruppe befindet.

Pro-Tipp : Wenn Sie mit einer der Tastenkombinationen nicht vertraut sind, können Sie sie in eine beliebige ändern, mit der Sie sich wohler fühlen!

Brynden Bielefeld
quelle
2
STRG + ALT + LINKS / RECHTS und STRG + Nummer kopieren nur Registerkarten in neue Registerkartengruppe
Yodalr
Die Anweisungen waren vorher klar, es funktioniert einfach nicht auf WINDOWS. Wenn ich Strg + Alt + Links drücke, passiert nichts und wenn ich Strg + Alt + Rechts drücke, wird die Registerkarte in die sekundären Registerkartenabschnitte rechts verschoben.
Jodalr
2
@yodalr Unter Windows drücken Sie zum Wechseln zwischen Registerkarten entweder CTRL + PAGE_UPoder CTRL + PAGE_DN, je nachdem, in welche Richtung Sie wechseln möchten. CTRL + ALT + LEFTund CTRL + ALT + RIGHTsind nicht die Tastaturkürzel, die ich für Windows aufgelistet habe.
Brynden Bielefeld
6
Hmm, es scheint nicht wie beschrieben zu funktionieren. Auf einem Mac wechselt Cmd + Num zwischen Registerkartengruppen (geteilte Fenster). Ich möchte das für Registerkarten innerhalb derselben Gruppe tun. Würde ich das können?
Huggie
@huggie Ich sehe das gleiche Verhalten unter OSX. Haben Sie einen Weg gefunden, dies neu zuzuordnen?
Präfix
33

Wenn Sie die VSCodeVimErweiterung verwenden, können Sie die Vim-Tastenkombinationen verwenden :

Nächste Registerkarte: gt

Vorherige Registerkarte: gT

Nummerierte Registerkarte: nnngt

gabra
quelle
31

Dies funktioniert auch unter MAC OS :

Registerkarte Zurück: Shift+ Cmd+[

Nächste Registerkarte: Shift+ Cmd+]

Yestema
quelle
24

macOS - überarbeitet 2017

Im Jahr 2017 wurden die VS CODE-Tastaturkürzel in CTRL+ 1, CTRL+ 2, CTRL+ 3usw. geändert, um zwischen den Registerkarten zu wechseln.

CMD+1, CMD+2, and CMD+3 zwischen wechseln und erstellen tab groups

Alex Smith
quelle
11
Ist es möglich, es zu ändern, CMD+1, CMD+2, and CMD+3anstatt CTRL+1, CTRL+2, CTRL+3?
David
Und auch, CMD + ALT + LEFT/RIGHTum einfach alle Registerkarten in allen Gruppen zu wechseln.
Davos
9

Windows

Bisherige

Ctrl+ Shift+Tab

Nächster

Ctrl + Tab

Mac OS

Bisherige

Shift+ Cmd+[

Nächster

Shift + Cmd +]

Ein blaues
quelle
5

Bessere approch ist die Verwendung alt + rechts und alt + links Tasten navigieren wie Jetbrains IDE WebStorm tut

Hier ist meine Konfiguration. Dazu gehört auch das Erstellen einer neuen Datei und eines neuen Ordners

    {
        "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
quelle
1
Das Überschreiben von Alt + Rechts / Links verhindert das standardmäßige, nützliche Editorverhalten, um den Cursor zum vorherigen / nächsten Wort zu springen.
Karni
3

für Linux ... Ich benutze Strg + PageUp oder PageDown

jmsalcido
quelle
3

Mit Visual Studio Code v1.35.0 können Sie die Tastenfolgen ( Ctrl+ Tab) / ( Shift+ Ctrl+ Tab) so einstellen , dass sie nacheinander zwischen den Editoren wechseln, indem Sie diese Tastenfolgen an die Befehle "Ansicht: Nächster Editor öffnen" bzw. "Ansicht: Vorheriger Editor öffnen" binden .

Unter macOS:

  1. Navigieren Sie zu: Code> Einstellungen> Tastaturkürzel
  2. Suchen oder navigieren Sie zu den folgenden zwei Optionen:
    • Ansicht: Öffnen Sie den nächsten Editor
    • Ansicht: Öffnen Sie den vorherigen Editor
  3. Ändern Sie beide Tastenkombinationen in die gewünschte Tastenfolge.
    • Ansicht: Nächsten Editor öffnen -> ( Ctrl+ Tab)
    • Ansicht: Vorherigen Editor öffnen -> ( Shift+ Ctrl+ Tab)
  4. Sie werden wahrscheinlich auf eine widersprüchliche Bindung stoßen. Wenn ja, notieren Sie sich den Befehl und weisen Sie die vorhandene Schlüsselbindung neu zu oder entfernen Sie sie.

Wenn Sie Probleme haben, können Sie jederzeit zum Standardstatus für eine bestimmte Bindung zurückkehren, indem Sie mit der rechten Maustaste auf eine Tastenkombination klicken und "Tastenkombination zurücksetzen" auswählen.

m0nsoon
quelle
1
Danke Alter, ich habe dafür das ganze Internet durchlaufen!
Pall Arpad
2

Dies funktioniert auch unter MAC OS :

Drücken Sie, um eine bestimmte Registerkarte auszuwählen: Control+ 1 oder Control2, Control3 usw.

Drücken Sie, um alle möglichen Registerkarten anzuzeigen / auszuwählen: Control+ Tab.

mdiiorio
quelle
2

Linux- Key-Map passend zum Browser:

[
    {
        "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
quelle
funktioniert auch für Windows!
Tom Roggero
1

Eine andere Möglichkeit, Tabs schnell zu wechseln, wäre VSCode 1.45 (April 2020).

Wechseln Sie die Registerkarten mit dem Mausrad

Wenn Sie mit dem Mausrad über Editor-Registerkarten scrollen, können Sie derzeit nicht zur Registerkarte wechseln, sondern nur Registerkarten anzeigen, die nicht sichtbar sind.

Mit einer neuen Einstellung kann workbench.editor.scrollToSwitchTabsdieses Verhalten geändert werden, wenn Sie es ändern true.

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

Hinweis: Sie können die ShiftTaste beim Scrollen auch gedrückt halten , um das gegenteilige Verhalten zu erzielen (dh Sie können auch bei deaktivierter Einstellung zu Registerkarten wechseln).

VonC
quelle
0

Wenn Sie Visual Studio Code unter Linux / Windows verwenden, können Sie mit STRG + PAGE_UP zur vorherigen Registerkarte und mit STRG + PAGE_DN zur nächsten Registerkarte wechseln. Sie können auch zu Registerkarten wechseln, die auf ihrem Index (nicht Null relativ) basieren. Sie können dies tun, indem Sie ALT gedrückt halten, gefolgt von einer Zahl (1 bis 9).

Weitere Details finden Sie hier

Shiv Kumar Singh
quelle
0

Verwenden Sie großartige Text-Keymaps. So viel intuitiver.

km

Importieren Sie großartige Text-Keymaps:

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
quelle
0

@SC_Chupacabra hat die richtige Antwort zum Ändern des Verhaltens.

Im Allgemeinen bevorzuge ich CTRL+ PAGE UP / DOWNfür meine Navigation, anstatt die TAB-Taste zu verwenden.

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

Ich konnte keinen Beitrag für VS Community finden, daher werde ich meine Lösung hier veröffentlichen.


Zuerst müssen Sie zu Extras -> Optionen -> Umgebung -> Tastatur gehen und dann den Befehl suchen Window.NextTab. Im unteren Bereich sollte "Neue Verknüpfung verwenden in:" stehen. Setzen Sie dies auf Global (sollte Standard sein), wählen Sie dann das Textfeld rechts aus und drücken Sie Ctrl+ Tab. Entfernen Sie alle aktuellen Verknüpfungen für den ausgewählten Befehl und klicken Sie auf Zuweisen. Für Ctrl+ Shift+ Tabsollte der Befehl sein Window.PreviousTab.

Hoffe das hilft :) Wenn es einen separaten Beitrag für VS Community gibt, würde ich diesen Beitrag gerne verschieben.

supsm
quelle