¿Cómo agregar múltiples terminales en VS Code?

82

¿Podemos agregar múltiples terminales diferentes en el Código VS? Estoy planeando agregar las siguientes tres terminales y trabajar con todas ellas:

  1. Símbolo del sistema de Windows
  2. Potencia Shell
  3. Git Bash

Sé que necesito agregar el siguiente comando en Preferences => Setting

 // // 64-bit cmd if available, otherwise 32-bit
 "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\cmd.exe",
// // 64-bit PowerShell if available, otherwise 32-bit
 "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe",
// // Git Bash
 "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",

Quiero agregar los tres comandos anteriores en setting.json

ingrese la descripción de la imagen aquí

Y cuando hago clic en +un terminal diferente debería abrirse y quiero trabajar con esos terminales sin cambiar las preferencias. ¿Es posible en VS Code o no?

MANISH KUMAR CHOUDHARY
fuente
1
Si escribe esto en la terminal de PowerShell, se iniciará el git bash:& "c:\Program Files\git\bin\bash.exe"
Davos
2
A partir de code.visualstudio.com/updates/v1_35 ahora puede hacer esto más fácilmente, vea mi respuesta totalmente en la parte inferior de la página. Terminé aquí a través de Google, instalé la extensión, luego leí hasta el final, noté el comentario de Neil, luego fui a la nota de lanzamiento de mayo de 2019 y lo agregué aquí como información
edelwater

Respuestas:

108

Hay una manera de hacer que esto suceda con estos pasos instalando una extensión:

  1. Busque una extensión llamada Shell launchere instálela o puede encontrarla aquí . Vuelva a cargar VS Code si lo desea o después de haber completado todos los pasos.

  2. Vaya a Files --> Preferences --> Settingsy esto abrirá el settings.jsonarchivo y luego inserte esto (puede editar esto al contenido de su corazón):

Código:

"shellLauncher.shells.windows": [
    {
        "shell": "C:\\Windows\\<sysnative>\\cmd.exe",
        "label": "cmd"
    },
    {
        "shell": "C:\\Windows\\<sysnative>\\WindowsPowerShell\\v1.0\\powershell.exe",
        "label": "PowerShell"
    },
    {
        "shell": "C:\\Program Files\\Git\\bin\\bash.exe",
        "label": "Git bash"
    },
    {
        "shell": "C:\\Windows\\<sysnative>\\bash.exe",
        "label": "WSL Bash"
    }
]

PD: puede utilizar shellLauncher.shells.linuxpara Linuxo shellLauncher.shells.osxpara macOS.

  1. Vaya a Files --> Preferences --> Keyboard Shortcutsy luego busque el {}ícono en la esquina superior derecha para abrir el keybindings.jsonarchivo. Inserte esto:

Código:

[
    { "key": "ctrl+alt+`", "command": "shellLauncher.launch" }
]

Actualización : escriba shelllauncheren la barra de búsqueda. A continuación, puede ver el Shell Launcher: Launchcomando. Resalte y use cualquier combinación de teclas que desee. Por ejemplo, elegí Ctrl + Alt + (tilde) `para mí.

Puede recargar su Código VS y hacer clic en la combinación de teclas que ha asignado y eso le dará la opción de elegir qué terminal integrado desea usar.

ingrese la descripción de la imagen aquí

Para obtener más detalles, consulte el sitio oficial: https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher

¡Disfrutar!

ian0411
fuente
8
esto no está funcionando. Quiero agregar múltiples terminal.integrated.shell.windowsnoShell launcher
MANISH KUMAR CHOUDHARY
2
No creo que esto se pueda hacer ahora, pero tal vez en el futuro, como señaló Ben. Esto es solo una solución para tener múltiples terminales instalando una extensión con algunos ajustes para que pueda tener cmd, powershell o bash abiertos al mismo tiempo.
ian0411
2
Hombre, esta es una extensión realmente genial y en realidad es realmente lo que necesito porque a veces necesito un bash y múltiples PS. ¡Excelente!
Raffaeu
2
¡Funciona genial! Se agregó un shell para Cmder usando este método.
AspiringDevOpsGuru
5
Para aquellos que copiarán / pegarán configuraciones. Si está en una máquina con Windows en sus rutas, reemplace sysnativeaSystem32
Andrew
65

Incluso la pregunta se hizo el año pasado y la respuesta es aceptada, pero aún así siento que debo responder a esta pregunta ya que no encontré ninguna respuesta simple, adecuada y completa, mientras que como desarrollo necesito múltiples terminales a mano con un clic como el siguiente: -

ingrese la descripción de la imagen aquí

y no me preocupo por su ruta, agregue otra extensión para lo que el Código VS ya es capaz de hacer o recargue VS Shell, etc. y vaya a insertar y configurar los archivos de configuración manualmente.

Encontré que esta pregunta se hace muchas veces y casi todas lograron configurar manualmente la escritura de algunas configuraciones, etc. o, a veces, solo optaron por obtener un solo tipo de terminal. La respuesta de @Pawan está algo cerca, pero nuevamente esa solución finalmente aterriza en una sola terminal, yendo a la configuración de comandos para la terminal de conmutación y esta funcionará para git o cualquier otra terminal.

Si tiene herramientas instaladas que funcionaron en la línea de comandos como power-shell y git junto con el indicador de cmd predeterminado en Windows, siga los tres pasos rápidos para obtener todos los terminales a la vez y cambiar a cualquiera con un clic.

  1. Terminal abierto, debe estar visible (use ctrl + ` o desde el menú Ver-> Terminal integrado )

  2. Abrir búsqueda de comandos (use Ctrl + Shift + P o desde el menú Ver-> Paleta de comandos ... )

  3. En el cuadro de comando, escriba " Terminal: seleccione Shell predeterminado " para seleccionar esta opción del menú desplegable. ingrese la descripción de la imagen aquí
  4. Al seleccionar esta opción, todos los comandos disponibles que están en la ruta se enumerarán a continuación como a continuación ingrese la descripción de la imagen aquí

  5. Simplemente haga clic en cualquiera que desee agregar para acceder rápidamente desde la lista de comandos.

  6. Finalmente, en la ventana de la terminal, simplemente haga clic en el signo + junto a la lista de terminales como se muestra a continuación: ingrese la descripción de la imagen aquí

El terminal seleccionado en el paso 5 ahora se agregará después de realizar el paso 6 a la lista sin eliminar el terminal anterior.

  1. Repita el paso 3-6 para agregar cualquier otro terminal a la lista de comandos.

Para trabajar con un terminal en particular, simplemente seleccione el requerido en la lista de terminales de la ventana del terminal.

AKS
fuente
1
Esta es la respuesta que estaba buscando, aunque la descubrí accidentalmente. :)
Legend
19
Este enfoque sobrescribirá el terminal predeterminado cada vez que se agregue una nueva vista. Si el código de Visual Studio se utiliza para otros fines en los que el terminal predeterminado debe permanecer igual, este no es un enfoque preferible.
Fabio
1
Gracias ... exactamente lo que estaba buscando.
Tiki
3
¿Hay alguna forma de hacer que la configuración se mantenga? Parece que la configuración desaparece al cerrar el navegador.
Mono
2
Gracias. Me gustan las soluciones nativas.
Greeso
23

presione el ctrl + shift + `atajo, o presione un signo de cruz para ejecutar una nueva terminal, luego escriba bashsi su modo predeterminado es powershell o powershellsi su modo predeterminado es bash. Y aquí tienes, tu terminal está cambiada.

Wachburn
fuente
1
Esto funciona bien, pero no se transfiere entre sesiones de VSCode ya que no realiza ningún cambio en la configuración. Personalmente, me gusta esto ya que son solo un par de pulsaciones de teclas y no siempre necesito varios tipos de terminales.
Torpy
5
Esta es la mejor solución hasta ahora
Pakk
6

Por ahora, VS Code admite la definición de solo uno de los terminales disponibles como predeterminado a la vez y no puede agregar varios terminales de shell.

Si no desea instalar el complemento "Shell Launcher" como lo sugiere @ ian0411, aquí hay una forma rápida de cambiar / seleccionar el terminal predeterminado.

Presione "Ctrl + Shift + P" para abrir la paleta de comandos.

Escriba "Terminal: seleccione Shell predeterminado" y presione enter. Se le pedirá que seleccione Git Bash, PowerShell o Cmd como se muestra a continuación:

Opción para cambiar la carcasa de terminal preferida

Nota: Esto cambiará el terminal de shell predeterminado, pero no hay ningún daño cambiarlo cada vez que necesite usar otro.

Por cierto, si necesita cambiar solo entre Cmd y Powershell, puede escribir cmd o powershell (en la terminal ya abierta) para cambiar a la terminal deseada. Pero no funcionaría para Git Bash.

Pawan
fuente
3

Esto se puede hacer agregando una clave diferente al final. Simplemente cambiando su ejemplo a:

// // 64-bit cmd if available, otherwise 32-bit
 "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\cmd.exe",
// // 64-bit PowerShell if available, otherwise 32-bit
 "terminal.integrated.shell.windows2": "C:\\Windows\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe",
// // Git Bash
 "terminal.integrated.shell.windows3": "C:\\Program Files\\Git\\bin\\bash.exe",

Tenga en cuenta que la clave ... shell.windows se cambia a ... shell.windows2 y ... shell.windows3 .

Resultado de seguimiento: he notado que una vez que se reinicia el IDE, solo se muestra la primera terminal. Tuve que volver a abrir la configuración y guardarla una vez para volver a tener ambos terminales. Publicaré si hay alguna solución mejor disponible.

Shiyaz
fuente
5
Agregué estas configuraciones a UserSetting, pero hay una advertencia en los shells 2 y 3, el mensaje de advertencia es "Ajuste de configuración desconocido"
Emad Armoun
3

No veo esto en lo anterior, pero leo todas las respuestas. Creo que este es el mejor enfoque para lo que se admite en este momento. Creo que, al igual que yo, el OP simplemente quiere abrir VSCode, y más abajo en la ventana de terminal, solo queremos una lista de opciones para abrir.

Sí, puede abrir el comando, "Terminal: Seleccionar shell predeterminado" y recorrerlo para agregar varios tipos de terminales ...

Sí, puede abrir el comando, "Terminal: Seleccionar shell predeterminado" y recorrerlo para agregar varios tipos de terminales ... Seguido por: ingrese la descripción de la imagen aquí

No sé cuándo se agregó esta opción al menú desplegable, ¡ pero mira! No es necesario comenzar buscando el comando. Creo que esto es mucho más suave que cualquier otra respuesta, pero aún así resulta en la sobreescritura molesta de su término predeterminado a lo que sea que fue su última opción antes de salir de la sesión.

Aquí, podemos abrir más fácilmente el Select Default Shell - debería ser compatible con "Select New Shell" . Simple, pensarías. Ojalá alguien agregue eso pronto o tendré tiempo para contribuir.

Aquí, podemos abrir más fácilmente el "Seleccionar shell predeterminado" - debería admitir "Seleccionar nuevo shell"

Neil Guy Lindberg
fuente
2

En la pestaña de terminal, hay un botón de Terminal dividido. Funciona de maravilla

yonih
fuente
No es lo que se preguntó.
Guillermo Prandi
0

Para WSL Ubuntu en la terminal de Windows:

Archivo -> preferencias -> configuración -> haga clic en el icono de código en la parte superior derecha

Introduzca la siguiente:

{
    "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\wsl.exe",
    "git.enableSmartCommit": true
}
Robert Morel
fuente
0

Para abrir la multipleterminal, verifique la captura de pantalla para ver la misma (en la parte inferior derecha del código de Visual Studio habrá un menú desplegable y, justo después, su icono es + (más). Al presionarlo, se abrirá la nueva terminal). .

siddhant verma
fuente
0

A partir de https://code.visualstudio.com/updates/v1_35 ahora puede:

  1. seleccione en el menú desplegable directamente sobre el terminal "Seleccionar shell predeterminado"
  2. selecciona el que más te guste
  3. haga clic en el +
  4. hecho

(lo mismo ocurre con la apertura de la pantalla dividida: antes, haga 1 + 2 y luego haga clic en el botón de pantalla dividida)

(aunque anula el valor predeterminado, pero ya no importa si este es su flujo)

edelwater
fuente