Alterne o foco entre o editor e o terminal integrado no Visual Studio Code

515

Alguém conhece o atalho de teclado (Mac e Linux) para alternar o foco entre o editor e o terminal integrado no Visual Studio Code?

Abhijeet
fonte
26
ctrl + '' será o melhor#-> Linux
muthukumar helius
14
ctrl + '' 'também funciona no OS X sem nenhuma ligação adicional de teclas.
Nataliastanko
2
ctrl+ '' 'também funciona com o Windows na perfeição!
Ehtesham Z 13/01

Respostas:

986

Embora existam muitas alternâncias modais e atalhos de navegação para o VS Code, não há uma especificamente para "mover do editor para o terminal e vice-versa". No entanto, você pode compor as duas etapas sobrecarregando o keye usando a when cláusula .

Abra o keybindings.json no editor: CMD-SHIFT-P -> Preferências: Abra o arquivo de atalhos de teclado e adicione estas entradas:

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

Com esses atalhos, focalizarei o editor e o Terminal Integrado usando a mesma tecla.

wgj
fonte
21
De longe, esta é a melhor resposta como a solução mais ergonomicamente justificada: estendendo a ligação de chave existente. Parabéns!
mloskot
7
Obrigado, isso funcionou bem e economiza muito tempo. Para usuários de teclados internacionais: "ctrl+`"pode ser especificado como "ctrl+oem_3".
esel
7
O comportamento do @Roman 1.18.0 é certamente uma melhoria desde que escrevi minha resposta, mas acho que o exposto ainda é melhor. A diferença é que o terminal não desaparecerá ao usar o pressionamento de tecla, apenas o foco mudará. Acontece que eu como manter meu terminal exibida :)
wgj
38
Observe que esses atalhos devem ser colados no keybindings.jsonarquivo.
Pseudomarvin
42
Abra o keybindings.json no editor: CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File. Também um bom recurso: code.visualstudio.com/docs/getstarted/keybindings
derFunk
174

ctrl+` : Foco no Terminal Integrado

ctrl+1 : Para se concentrar no editor (se o comando editor-2 fosse ctrl+ 2)

insira a descrição da imagem aqui

Mais informações: http://www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html

Rahul Shukla
fonte
5
onde o inferno é `em qualquer teclado 🙄
Ewoks
7
logo abaixo tecla esc :)
Rahul Shukla
6
Obrigado. Ctrl + 1 é o que eu preciso, como em alguns casos, ctrl + `abrirá terminal externo e não pode usar isso de novo para retorno ao editor VSCode
Thang Nguyen
2
resposta mais simples e precisa imho.
Tomas
3
Control + '~' funcionará para alternar entre os dois. Estou usando há algum tempo.
31519 surender pal
75

Ctrl+ Jobras; mas também mostra / oculta o console.

Joshua Wray
fonte
8
Cmd + J no MacOS.
precisa
2
A resposta mais simples, porém funcional - deve ser aceita imho.
Karol Selak
Não funciona no Ubuntu Linux 16.04 (Xenial) + VSC 1.45.0
Aldo Bassanini
55

Um pouco tarde para o jogo, mas eu configurei o meu da seguinte forma 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"
}

Eu queria teclas separadas para abrir / fechar o terminal e alternar o foco entre as janelas.

schmudu
fonte
4
Mapeamento alt+`parece ser buggy - rastreado no github.com/Microsoft/vscode/issues/41024#issuecomment-363096692
Ben Creasy
2
Eu achei altmais fácil pressionar do que ctrl, então, na minha configuração, é o contrário.
Xj # 9/18
Esta é uma ótima proposta, embora tenha optado por manter as ligações originais e usar altpara mudar o foco.
Sr. Duhart
@BenCreasy Isso é apenas para o macOS, no Windows isso funciona muito bem.
Kotauskas
24

A partir da versão: 1.26.1 (linux), o atalho não é definido por padrão. Para definir o atalho

  1. abra o painel de atalhos de teclado [ctrl + k, ctrl + s]
  2. Procure o Terminal Focus

insira a descrição da imagem aqui

  1. Defina seu atalho

Para o editor, o foco já está definido por padrão.

insira a descrição da imagem aqui

Shubham Jain
fonte
Como eles fornecem mapeamentos de teclado adicionais, esta resposta é mais simples e mais rápido
LookAheadAtYourTypes
Isso enfoca o primeiro grupo de editores - pode não ser o que o OP deseja. Provavelmente deseja o grupo de editores atual / ativo.
Mark
1
Esta é a resposta para 2020 e qualquer coisa> = 1.45.0
chrismarx
Ótimo. Obrigado pela clareza aqui.
Fiddy Bux
18

Eu configurei o meu da seguinte forma, pois achei o ctrl+ `difícil de pressionar.

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

Também configurei o seguinte para alternar entre o grupo de editores.

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

By the way, eu configurei Caps Lockpara ctrlno Mac a partir do System Preferences => keyboard =>Modifier Keys.

Sam Xu
fonte
8

A combinação de teclas padrão para alternar o terminal integrado é "Ctrl +` ", de acordo com a página de documentação dos atalhos do teclado vscode . Se você não gostar desse atalho, poderá alterá-lo no arquivo de combinações de teclas adicionando algo semelhante a:

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

Não parece haver uma combinação de teclas padrão para focar simplesmente o painel inferior. Portanto, se você não deseja alternar o painel inferior, precisará adicionar algo semelhante ao seguinte ao seu arquivo de combinações de teclas:

{ "key": "ctrl+t", "command": "workbench.action.focusPanel" }
alexriedl
fonte
Perfeito, obrigado! Estou procurando a segunda resposta que você mencionou. Se alguém perguntando sobre o atalho de teclado para colocar a parte de trás foco para editor então é: Command + 1 (no Mac)
Abhijeet
Eu acho que focusPanelé para a região geral (incluir coisas como "Problemas", "Saída" e "Console de Depuração" Há também uma ação especificamente para o Terminal Integrado. workbench.action.terminal.focus.
wgj
8

Tente usar ctrl + ` para alternar a visibilidade do terminal e, como resultado, alternar o foco.

Gaurav Grover
fonte
3

Não é exatamente o que é pedido, mas achei muito útil e relacionado.

Se alguém quiser mudar de um terminal para outro, também aberto no painel de integração do Visual Studio, você pode procurar:

Terminal: Focus Next Terminal

Ou adicione o seguinte atalho de tecla e faça-o mais rapidamente com a combinação do teclado.

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

Espero que ajude outra pessoa.

robertovg
fonte
3

A resposta de Shubham Jain é a melhor opção agora usando os atalhos de teclado embutidos.

Eu mapei insira a descrição da imagem aqui

para Ctrl+;

e remapeado insira a descrição da imagem aqui

para Ctrl+L

Dessa forma, você pode mover o foco entre o terminal e o editor e alternar o terminal próximo.

jim
fonte
Isso resolveu para mim! Atalhos do teclado -> Terminal: Terminal de Foco ( workbench.action.terminal.focus ) -> alterei o Keybinding para a minha combinação desejada. Correndo em Insiders vscode 1.43.0
jeppoo1
2

Geralmente, o código vs usa ctrl+jpara abrir o Terminal, então criei uma combinação de teclas para alternar com a ctrl+kcombinação, como abaixo em keybindings.json:

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

SOLUÇÃO SIMPLES DO WINDOWS PARA QUALQUER LAYOUT DE TECLADO (pode funcionar para outro SO, mas não testado)

Eu uso um teclado finlandês para que nenhuma das opções acima funcione, mas isso deve funcionar para todos os teclados.

  • Foco no terminal: passe o mouse sobre o texto do terminal no terminal integrado . O atalho para focar no terminal será exibido - o meu, por exemplo, disse CTRL + ö.
  • Foco do editor: como mencionado acima, use CTRL + 1.
JStrahl
fonte
-1

Eu fiz isso indo para a configuração> Atalhos do teclado e, em seguida, na seção em que ele fornece um tipo de barra de pesquisa, terminal de foco e selecione a opção. Ele solicitará que digite a combinação que você deseja definir para esta ação. Faça. Quanto ao foco do editor, digite "editor focus" na barra de pesquisa e digite a chave desejada. Se você adicionar excelentemente uma chave. ele pode ser removido, indo para editar jason como mencionado nos comentários acima

Mahad Ali
fonte
-1

control + '~' funcionará para alternar entre os dois. e ' ' 'está logo acima do botão Tab.

amigo surender
fonte