Cambia focus tra editor e terminale integrato in Visual Studio Code


516

Qualcuno conosce la scorciatoia da tastiera (Mac e Linux) per spostare l'attenzione tra l'editor e il terminale integrato in Visual Studio Code?


26
ctrl + '' 'sarà il migliore#-> Linux
muthukumar helius

14
ctrl + '' 'funziona anche su OS X senza alcuna associazione di tasti aggiuntiva.
nataliastanko,

2
ctrl+ '' 'funziona perfettamente anche con Windows!
Ehtesham Z,

Risposte:


987

Mentre ci sono molti interruttori modali e scorciatoie di navigazione per VS Code, non ce n'è uno specifico per "passare dall'editor al terminale e viceversa". Tuttavia, è possibile comporre i due passaggi sovraccaricando keye usando la when clausola .

Apri keybindings.json dall'editor: CMD-SHIFT-P -> Preferenze: apri il file delle scorciatoie da tastiera e aggiungi queste voci:

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

Con queste scorciatoie mi concentrerò tra l'editor e il terminale integrato usando la stessa sequenza di tasti.


21
Di gran lunga, questa è la risposta migliore come la soluzione più ergonomicamente giustificata: estendere l'associazione chiave esistente. Complimenti!
mloskot,

7
Grazie, ha funzionato bene e fa risparmiare molto tempo. Per utenti di tastiere internazionali: "ctrl+`"può essere specificato come "ctrl+oem_3".
esel

7
Il comportamento di @Roman 1.18.0 è sicuramente un miglioramento rispetto a quando ho scritto la mia risposta, ma penso che quanto sopra sia ancora migliore. La differenza è che il terminale non scompare quando si preme il tasto, solo la messa a fuoco si sposterà. Mi piace mantenere il mio terminale visualizzato :)
wgj

38
Si noti che queste scorciatoie devono essere incollate nel keybindings.jsonfile.
pseudomarvin,

42
Apri keybindings.json dall'editor: CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File. Anche una bella risorsa: code.visualstudio.com/docs/getstarted/keybindings
derFunk

174

ctrl+` : Per concentrarsi sul terminale integrato

ctrl+1 : Focus su Editor (se il comando editor-2 sarebbe ctrl+ 2)

inserisci qui la descrizione dell'immagine

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


5
dove diavolo è `su qualsiasi tastiera 🙄
Ewoks,

7
appena sotto il tasto esc :)
Rahul Shukla,

6
Grazie. Ctrl + 1 è ciò di cui ho bisogno, come in alcuni casi, ctrl + `aprirà il terminale esterno e non potrà riutilizzarlo per tornare all'editor VSCode
Thang Nguyen,

2
imho della risposta più semplice e accurata.
Tomas,

3
Control + '~' funzionerà per alternare tra i due. Sto usando da un po 'di tempo.
surender pal


55

Un po 'tardi al gioco, ma ho configurato il mio come segue nel 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"
}

Volevo chiavi separate per aprire / chiudere il terminale e per spostare la messa a fuoco avanti e indietro tra le finestre.


4
La mappatura alt+`sembra essere buggy - tracciata su github.com/Microsoft/vscode/issues/41024#issuecomment-363096692
Ben Creasy

2
Ho trovato altpiù facile da premere rispetto a ctrl, quindi nella mia configurazione è il contrario.
xji,

Questa è un'ottima proposta, anche se ho optato per mantenere i collegamenti originali e utilizzare altper passare alla messa a fuoco.
Mr. Duhart,

@BenCreasy Questo è solo per macOS, su Windows funziona perfettamente.
Kotauskas,

24

A partire dalla versione: 1.26.1 (linux), il collegamento non è impostato di default. Per impostare il collegamento

  1. apri il pannello delle scorciatoie da tastiera [ctrl + k, ctrl + s]
  2. Cerca Focus Terminal

inserisci qui la descrizione dell'immagine

  1. Imposta il tuo collegamento

Il focus dell'editor è già impostato per impostazione predefinita.

inserisci qui la descrizione dell'immagine


Poiché forniscono mappature aggiuntive della tastiera, questa risposta è più semplice e veloce
LookAheadAtYourTypes

Questo focalizza il primo gruppo di editor - potrebbe non essere quello che vuole l'OP. Probabilmente vuole il gruppo di editor corrente / attivo.
Mark

1
Questa è la risposta per il 2020 e qualsiasi cosa> = 1.45.0
chrismarx

Grande. Grazie per la chiarezza qui.
Fiddy Bux,

18

Ho configurato il mio come segue poiché ho trovato ctrl+ `è un po 'difficile da premere.

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

Ho anche configurato quanto segue per spostarmi tra i gruppi di editor.

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

A proposito, ho configurato Caps Lockper ctrlil Mac dal System Preferences => keyboard =>Modifier Keys.


8

La combinazione di tasti predefinita per attivare / disattivare il terminale integrato è "Ctrl +` "in base alla pagina della documentazione delle scorciatoie da tastiera di vscode . Se non ti piace quella scorciatoia, puoi cambiarla nel tuo file keybindings aggiungendo qualcosa di simile a:

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

Non sembra esserci un vincolo di tasti predefinito per focalizzare semplicemente il pannello inferiore. Pertanto, se non si desidera attivare o disattivare il pannello inferiore, è necessario aggiungere qualcosa di simile al seguente al file di associazioni di tasti:

{ "key": "ctrl+t", "command": "workbench.action.focusPanel" }

Perfetto grazie! Sto cercando la seconda risposta che hai menzionato. Se qualcuno si chiede quale sia la scorciatoia da tastiera per riportare l'attenzione sull'editor, allora è: Comando + 1 (su Mac)
Abhijeet

Penso che focusPanelsia per la regione generale (includi cose come "Problemi", "Output" e "Console di debug". C'è anche un'azione specifica per il terminale integrato workbench.action.terminal.focus.
wgj

8

Prova a usare ctrl + ` per attivare / disattivare la visibilità del terminale e, di conseguenza, attivare la messa a fuoco.


3

Non è esattamente quello che viene chiesto, ma l'ho trovato molto utile e correlato.

Se qualcuno desidera passare da un terminale a un altro terminale aperto anche nel pannello terminale integrato di Visual Studio, è possibile cercare:

Terminal: Focus Next Terminal

Oppure aggiungi la seguente scorciatoia da tastiera e fallo più velocemente con la combinazione di tastiera.

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

Spero che aiuti qualcun altro.


3

La risposta di Shubham Jain è l'opzione migliore ora usando le scorciatoie da tastiera integrate.

Ho mappato inserisci qui la descrizione dell'immagine

a Ctrl+;

e rimappato inserisci qui la descrizione dell'immagine

a Ctrl+L

In questo modo è possibile spostare lo stato attivo tra terminale ed editor e attivare il terminale tutti nelle immediate vicinanze.


Questo mi ha risolto! Scorciatoie da tastiera -> Terminale: Terminale di messa a fuoco ( workbench.action.terminal.focus ) -> ha cambiato la rilegatura dei tasti con la combinazione desiderata. In esecuzione su vscode Insiders 1.43.0
jeppoo1

2

Generalmente, vs code utilizza ctrl+jper aprire Terminal, quindi ho creato un keybinding per passare con la ctrl+kcombinazione, come di seguito su keybindings.json:

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

0

SOLUZIONE SEMPLICE PER WINDOWS PER QUALSIASI LAYOUT DI TASTIERA (può funzionare per altri sistemi operativi ma non testato)

Uso una tastiera finlandese, quindi nessuna delle precedenti ha funzionato, ma dovrebbe funzionare per tutte le tastiere.

  • Focus sul terminale: passa il mouse sul testo del terminale nel terminale integrato . Verrà visualizzata la scorciatoia per la messa a fuoco sul terminale, ad esempio la mia CTRL + ö.
  • Focus dell'editor: come menzionato sopra usa CTRL + 1.

-1

L'ho fatto andando su Impostazioni> Scorciatoie da tastiera, quindi nella sezione in cui viene fornito un terminale di messa a fuoco di tipo barra di ricerca e selezionare l'opzione. Chiederà di digitare la combinazione che si desidera impostare per questa azione. Fallo. Per quanto riguarda il focus dell'editor, digita "focus dell'editor" nella barra di ricerca e digita la chiave desiderata. SE aggiungi in modo eccellente una chiave. può essere rimosso andando a modificare Jason come menzionato nei commenti sopra


-1

control + '~' funzionerà per alternare tra i due. e ' ` ' è appena sopra il tasto tab.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.