Wechseln Sie den Fokus zwischen Editor und integriertem Terminal in Visual Studio Code

512

Kennt jemand die Tastenkombination (Mac und Linux), um den Fokus zwischen Editor und integriertem Terminal in Visual Studio Code umzuschalten?

Abhijeet
quelle
26
ctrl + '`' wird das Beste sein#-> Linux
Muthukumar Helius
14
Strg + '`' funktioniert auch unter OS X ohne zusätzliche Schlüsselbindung.
Nataliastanko
2
ctrl+ '`' funktioniert auch mit Windows einwandfrei!
Ehtesham Z

Antworten:

983

Während es für VS-Code viele modale Umschalt- und Navigationsverknüpfungen gibt, gibt es keine speziell für "Vom Editor zum Terminal und wieder zurück". Sie können die beiden Schritte jedoch zusammensetzen, indem Sie keydie when Klausel überladen und verwenden .

Öffnen Sie die Datei keybindings.json im Editor: CMD-SHIFT-P -> Einstellungen: Öffnen Sie die Tastaturkürzeldatei und fügen Sie die folgenden Einträge hinzu:

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

Mit diesen Verknüpfungen werde ich mich mit demselben Tastendruck zwischen dem Editor und dem integrierten Terminal konzentrieren.

wgj
quelle
20
Dies ist bei weitem die beste Antwort als ergonomisch gerechtfertigteste Lösung: Erweiterung der vorhandenen Schlüsselbindung. Ein großes Lob!
Mloskot
7
Danke, das hat gut funktioniert und spart viel Zeit. Für Benutzer internationaler Tastaturen: "ctrl+`"kann angegeben werden als "ctrl+oem_3".
Esel
7
Das Verhalten von @Roman 1.18.0 ist sicherlich eine Verbesserung seit ich meine Antwort geschrieben habe, aber ich denke, dass das oben Genannte immer noch besser ist. Der Unterschied besteht darin, dass das Terminal bei Verwendung des Tastenanschlags nicht verschwindet, sondern nur der Fokus verschoben wird. Ich mag es, mein Terminal angezeigt zu halten :)
wgj
37
Beachten Sie, dass diese Verknüpfungen in die keybindings.jsonDatei eingefügt werden sollten .
Pseudomarvin
41
Öffnen Sie die Datei keybindings.json im Editor: CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File. Auch eine nette Ressource: code.visualstudio.com/docs/getstarted/keybindings
derFunk
173

ctrl+` : Um sich auf das integrierte Terminal zu konzentrieren

ctrl+1 : Um sich auf den Editor zu konzentrieren (Wenn der Befehl editor-2 ctrl+ wäre 2)

Geben Sie hier die Bildbeschreibung ein

Weitere Informationen: http://www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html

Rahul Shukla
quelle
4
wo zum Teufel ist "auf jeder Tastatur"
Ewoks
6
direkt unter dem Esc-Schlüssel :)
Rahul Shukla
5
Vielen Dank. Strg + 1 ist das, was ich brauche, da in einigen Fällen Strg + `das externe Terminal öffnet und dieses nicht erneut verwenden kann, um zum VSCode-Editor zurückzukehren
Thang Nguyen
2
einfachste und genaueste Antwort imho.
Tomas
3
Strg + '~' funktioniert beim Umschalten zwischen den beiden. Ich benutze seit geraumer Zeit.
Surender Kumpel
75

Ctrl+ Jfunktioniert; sondern zeigt / versteckt auch die Konsole.

Joshua Wray
quelle
8
Cmd + J unter MacOS.
Miscreant
2
Die einfachste und doch funktionierende Antwort - sollte imho akzeptiert werden.
Karol Selak
Funktioniert nicht unter Ubuntu Linux 16.04 (Xenial) + VSC 1.45.0
Aldo Bassanini
54

Ein bisschen spät zum Spiel, aber ich habe meine wie folgt konfiguriert 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"
}

Ich wollte separate Tasten zum Öffnen / Schließen des Terminals und zum Hin- und Herwechseln des Fokus zwischen den Fenstern.

schmudu
quelle
4
Die Zuordnung alt+`scheint fehlerhaft zu sein - verfolgt unter github.com/Microsoft/vscode/issues/41024#issuecomment-363096692
Ben Creasy
2
Ich fand es alteinfacher zu drücken als ctrl, also ist es in meiner Konfiguration umgekehrt.
xji
Dies ist ein großartiger Vorschlag, obwohl ich mich dafür entschieden habe, die ursprünglichen Bindungen beizubehalten und altden Fokus zu wechseln.
Herr Duhart
@ BenCreasy Das ist nur für MacOS, unter Windows funktioniert das einwandfrei.
Kotauskas
24

Ab Version: 1.26.1 (Linux) ist die Verknüpfung nicht standardmäßig festgelegt. So stellen Sie die Verknüpfung ein

  1. Öffnen Sie das Bedienfeld für Tastaturkürzel [Strg + k, Strg + s].
  2. Suchen Sie nach Focus Terminal

Geben Sie hier die Bildbeschreibung ein

  1. Stellen Sie Ihre Verknüpfung ein

Für den Editor ist der Fokus bereits standardmäßig eingestellt.

Geben Sie hier die Bildbeschreibung ein

Shubham Jain
quelle
Da sie zusätzliche Tastaturzuordnungen bereitstellen, ist diese Antwort einfacher und schneller
LookAheadAtYourTypes
Dies fokussiert die erste Editorgruppe - möglicherweise nicht das, was das OP will. Möchte wahrscheinlich die aktuelle / aktive Editorgruppe.
Mark
1
Dies ist die Antwort für 2020 und alles> = 1.45.0
chrismarx
Großartig. Vielen Dank für die Klarheit hier.
Fiddy Bux
18

Ich habe meine wie folgt konfiguriert, da ich festgestellt habe, dass ctrl+ `etwas schwer zu drücken ist.

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

Ich habe auch Folgendes konfiguriert, um zwischen Editorgruppen zu wechseln.

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

By the way, konfiguriert ich Caps Lockauf ctrlauf Mac von der System Preferences => keyboard =>Modifier Keys.

Sam Xu
quelle
8

Die Standard-Tastenkombination zum Umschalten des integrierten Terminals lautet "Strg +` "gemäß der Dokumentationsseite für vscode-Tastaturkürzel . Wenn Ihnen diese Verknüpfung nicht gefällt, können Sie sie in Ihrer Tastaturbelegungsdatei ändern, indem Sie Folgendes hinzufügen:

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

Es scheint keine Standard-Tastenkombination zum einfachen Fokussieren des unteren Bedienfelds zu geben. Wenn Sie also das untere Bedienfeld nicht umschalten möchten, müssen Sie Ihrer Tastaturbelegungsdatei Folgendes hinzufügen:

{ "key": "ctrl+t", "command": "workbench.action.focusPanel" }
alexriedl
quelle
Perfekt danke! Ich suche nach der zweiten Antwort, die Sie erwähnt haben. Wenn sich jemand über die Tastenkombination wundert, um den Fokus wieder auf den Editor zu richten, dann ist dies: Befehl + 1 (auf Mac)
Abhijeet
Ich denke, focusPanelist für die allgemeine Region (einschließlich Dinge wie "Probleme", "Ausgabe" und "Debug-Konsole". Es gibt auch eine Aktion speziell für das integrierte Terminal workbench.action.terminal.focus.
wgj
8

Verwenden Sie Strg + `, um die Sichtbarkeit des Terminals und damit den Fokus umzuschalten .

Gaurav Grover
quelle
3

Ist nicht genau das, was gefragt wird, aber ich fand es sehr nützlich und verwandt.

Wenn jemand von einem Terminal zu einem anderen wechseln möchte, der auch im Bereich "Integriertes Terminal" von Visual Studio geöffnet ist, können Sie nach Folgendem suchen:

Terminal: Focus Next Terminal

Oder fügen Sie die folgende Tastenkombination hinzu und machen Sie es mit der Tastaturkombination schneller.

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

Ich hoffe es hilft jemand anderem.

robertovg
quelle
3

Die Antwort von Shubham Jain ist die beste Option, die jetzt die integrierten Tastaturkürzel verwendet.

Ich habe abgebildet Geben Sie hier die Bildbeschreibung ein

zu Ctrl+;

und neu zugeordnet Geben Sie hier die Bildbeschreibung ein

zu Ctrl+L

Auf diese Weise können Sie den Fokus zwischen Terminal und Editor verschieben und das Terminal in unmittelbarer Nähe umschalten.

Jim
quelle
Das hat es für mich gelöst! Tastaturkürzel -> Terminal: Fokus-Terminal ( workbench.action.terminal.focus ) -> Die Tastenkombination wurde in die gewünschte Kombination geändert . Laufen auf vscode Insiders 1.43.0
jeppoo1
2

Im Allgemeinen wird vs code ctrl+jzum Öffnen des Terminals verwendet, daher habe ich eine Tastenkombination zum Wechseln mit ctrl+kKombination erstellt, wie unten unter keybindings.json:

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

EINFACHE FENSTERLÖSUNG FÜR JEDES TASTATURLAYOUT (funktioniert möglicherweise für andere Betriebssysteme, ist jedoch nicht getestet)

Ich benutze eine finnische Tastatur, daher hat keine der oben genannten Funktionen funktioniert, aber dies sollte für alle Tastaturen funktionieren.

  • Terminalfokus: Bewegen Sie die Maus über den Terminaltext im integrierten Terminal . Die Verknüpfung zum Fokussieren auf das Terminal wird angezeigt - meine zum Beispiel STRG + ö.
  • Editor-Fokus: Verwenden Sie wie oben erwähnt STRG + 1.
JStrahl
quelle
-1

Ich ging dazu zu> Tastaturkürzel und dann zu dem Abschnitt, in dem ein Fokus-Terminal vom Typ Suchleiste angezeigt wird, und wähle die Option aus. Sie werden aufgefordert, die Kombination einzugeben, die Sie für diese Aktion festlegen möchten. Tu es. Geben Sie als Editor-Fokus "Editor-Fokus" in die Suchleiste ein und geben Sie den gewünschten Schlüssel ein. WENN Sie einen Schlüssel hervorragend hinzufügen. Es kann entfernt werden, indem Sie Jason wie in den obigen Kommentaren erwähnt bearbeiten

Mahad Ali
quelle
-1

Mit Strg + '~' können Sie zwischen den beiden umschalten. und ' ` ' befindet sich direkt über der Tabulatortaste.

Surender Kumpel
quelle