Cambiar el foco entre el editor y el terminal integrado en Visual Studio Code

516

¿Alguien sabe el método abreviado de teclado (Mac y Linux) para cambiar el foco entre el editor y el terminal integrado en Visual Studio Code?

Abhijeet
fuente
26
ctrl + '' 'será el mejor#-> Linux
muthukumar helius
14
ctrl + '' 'también funciona en OS X sin ningún enlace de teclas adicional.
nataliastanko
2
ctrl+ '' 'también funciona perfectamente con Windows.
Ehtesham Z

Respuestas:

987

Si bien hay muchos alternadores modales y accesos directos de navegación para VS Code, no hay uno específicamente para "pasar del editor al terminal y viceversa". Sin embargo, puede componer los dos pasos sobrecargando keyy utilizando la when cláusula .

Abra keybindings.json desde el editor: CMD-SHIFT-P -> Preferencias: Abra el archivo de atajos de teclado y agregue estas entradas:

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

Con estos atajos, me enfocaré entre el editor y el Terminal Integrado usando la misma combinación de teclas.

wgj
fuente
21
Con mucho, esta es la mejor respuesta como la solución más ergonómicamente justificada: extender la encuadernación de teclas existente. ¡Prestigio!
mloskot
77
Gracias, esto funcionó bien y ahorró mucho tiempo. Para usuarios de teclados internacionales: "ctrl+`"se puede especificar como "ctrl+oem_3".
esel
77
El comportamiento de @Roman 1.18.0 es ciertamente una mejora desde que escribí mi respuesta, pero creo que lo anterior es aún mejor. La diferencia es que el terminal no desaparecerá al usar la pulsación de tecla, solo cambiará el foco. Me gusta que mi terminal se muestre :)
wgj
38
Tenga en cuenta que estos accesos directos se deben pegar en el keybindings.jsonarchivo.
pseudomarvin
42
Abra keybindings.json desde el editor: CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File. También es un buen recurso: code.visualstudio.com/docs/getstarted/keybindings
derFunk el
174

ctrl+` : Para centrarse en el terminal integrado

ctrl+1 : Para centrarse en el editor (si el comando editor-2 sería ctrl+ 2)

ingrese la descripción de la imagen aquí

Más información: http://www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html

Rahul Shukla
fuente
55
donde diablos está `en cualquier teclado 🙄
Ewoks
77
justo debajo de la tecla esc :)
Rahul Shukla
66
Gracias. Ctrl + 1 es lo que necesito, ya que en algunos casos, ctrl + `abrirá un terminal externo y no puede usarlo nuevamente para volver al editor VSCode
Thang Nguyen
2
respuesta más simple y más precisa en mi humilde opinión.
Tomás
3
Control + '~' funcionará para alternar entre los dos. Estoy usando desde hace bastante tiempo.
surender amigo
75

Ctrl+ Jobras; pero también muestra / oculta la consola.

Joshua Wray
fuente
8
Cmd + J en MacOS.
Malvado
2
La respuesta más simple pero funcional, debería aceptarse en mi humilde opinión.
Karol Selak
No funciona en Ubuntu Linux 16.04 (Xenial) + VSC 1.45.0
Aldo Bassanini
55

Un poco tarde para el juego, pero configuré el mío como el siguiente en 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"
}

Quería teclas separadas para abrir / cerrar la terminal y cambiar el foco de un lado a otro entre las ventanas.

Schmudu
fuente
44
El mapeo alt+`parece tener errores: se sigue
Ben Creasy
2
Me resultó altmás fácil presionar que ctrl, así que en mi configuración es al revés.
xji
Esta es una gran propuesta, aunque opté por mantener los enlaces originales y usar altpara cambiar el enfoque.
Sr. Duhart
@BenCreasy Eso es solo para macOS, en Windows esto funciona bien.
Kotauskas
24

A partir de la versión: 1.26.1 (Linux), el acceso directo no está configurado de forma predeterminada. Para establecer el acceso directo

  1. abrir el panel de atajos de teclado [ctrl + k, ctrl + s]
  2. Buscar Focus Terminal

ingrese la descripción de la imagen aquí

  1. Establece tu atajo

Para el editor, el enfoque ya está configurado de forma predeterminada.

ingrese la descripción de la imagen aquí

Shubham Jain
fuente
Como proporcionan asignaciones de teclado adicionales, esta respuesta es más simple y rápida
LookAheadAtYourTypes
Esto enfoca el primer grupo de editores; puede que no sea lo que quiere el OP. Probablemente quiere el grupo editor actual / activo.
Mark
1
Esta es la respuesta para 2020 y cualquier cosa> = 1.45.0
chrismarx
Excelente. Gracias por la claridad aquí.
Fiddy Bux
18

Configuré el mío de la siguiente manera ya que encontré que ctrl+ `es un poco difícil de presionar.

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

También configuré lo siguiente para moverme entre el grupo editor.

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

Por cierto, he configurado Caps Lockpara ctrlel Mac desde el System Preferences => keyboard =>Modifier Keys.

Sam Xu
fuente
8

La combinación de teclas predeterminada para alternar el terminal integrado es "Ctrl +` "de acuerdo con la página de documentación de atajos de teclado vscode . Si no le gusta ese acceso directo, puede cambiarlo en su archivo de combinaciones de teclas agregando algo similar a:

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

No parece haber una combinación de teclas predeterminada para enfocar simplemente el panel inferior. Por lo tanto, si no desea alternar el panel inferior, deberá agregar algo similar a lo siguiente a su archivo de teclas:

{ "key": "ctrl+t", "command": "workbench.action.focusPanel" }
alexriedl
fuente
¡Perfecto gracias! Estoy buscando la segunda respuesta que mencionaste. Si alguien se pregunta sobre el método abreviado de teclado para volver a enfocar el editor, entonces es: Comando + 1 (en Mac)
Abhijeet
Creo que focusPaneles para la región general (incluya cosas como "Problemas", "Salida" y "Consola de depuración". También hay una acción específica para el Terminal integrado workbench.action.terminal.focus.
wgj
8

Intente usar ctrl + ` para alternar la visibilidad del terminal y, como resultado, alternar el foco.

Gaurav Grover
fuente
3

No es exactamente lo que se pide, pero lo encontré muy útil y relacionado.

Si alguien quiere cambiar de una terminal a otra terminal también abierta en el panel de terminal integrado de Visual Studio, puede buscar:

Terminal: Focus Next Terminal

O agregue el siguiente atajo de teclado y hágalo más rápido con la combinación de 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 ayude a alguien más.

robertovg
fuente
3

La respuesta de Shubham Jain es la mejor opción ahora usando los atajos de teclado incorporados.

Yo mapeé ingrese la descripción de la imagen aquí

a Ctrl+;

y reasignado ingrese la descripción de la imagen aquí

a Ctrl+L

De esta manera, puede mover el foco entre el terminal y el editor, y alternar el terminal muy cerca.

jim
fuente
¡Esto lo resolvió para mí! Atajos de teclado -> Terminal: Focus Terminal ( workbench.action.terminal.focus ) -> cambió la combinación de teclas a mi combinación deseada. Corriendo en vscode Insiders 1.43.0
jeppoo1
2

En general, el código vs se usa ctrl+jpara abrir Terminal, así que creé una combinación de teclas para cambiar con la ctrl+kcombinación, como se muestra a continuación en keybindings.json:

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

SOLUCIÓN DE VENTANAS SIMPLE PARA CUALQUIER DISEÑO DEL TECLADO (puede funcionar para otro sistema operativo pero no probado)

Utilizo un teclado finlandés, así que ninguno de los anteriores funcionó, pero esto debería funcionar para todos los teclados.

  • Enfoque del terminal: Pase el mouse sobre el texto del terminal en el terminal integrado . Aparecerá el acceso directo para enfocarse en el terminal: el mío, por ejemplo, dijo CTRL + ö.
  • Enfoque del editor: como se mencionó anteriormente, use CTRL + 1.
JStrahl
fuente
-1

Hice esto yendo a la configuración> Atajos de teclado y luego en la sección donde da un terminal de enfoque de tipo de barra de búsqueda y selecciona la opción. Le pedirá que escriba la combinación que desea establecer para esta acción. Hazlo. En cuanto al foco del editor, escriba "foco del editor" en la barra de búsqueda y escriba la clave deseada. SI agrega una clave excelentemente. se puede eliminar yendo a editar Jason como se menciona en los comentarios anteriores

Mahad Ali
fuente
-1

control + '~' funcionará para alternar entre los dos. y ' ' 'está justo encima del botón de tabulación.

surender amigo
fuente