O Código do Visual Studio no Windows usa o PowerShell por padrão como o terminal integrado. Se você deseja usar o Bash do Visual Studio Code, quais etapas devem ser seguidas?
O Código do Visual Studio no Windows usa o PowerShell por padrão como o terminal integrado. Se você deseja usar o Bash do Visual Studio Code, quais etapas devem ser seguidas?
Respostas:
Você não precisa mais digitar o caminho bash.exe manualmente. Esta resposta está obsoleta. Agora você pode mudar diretamente para o bash. Apenas certifique-se de ter o git instalado.
Instale o Git em https://git-scm.com/download/win .
Em seguida, abra o Visual Studio Code e abra a paleta de comandos usando Ctrl+ Shift+ P. Em seguida, digite "abrir configuração do usuário" e selecione "Abrir configurações do usuário" no menu suspenso.
Em seguida, essa guia será aberta com as configurações padrão à esquerda e suas configurações à direita:
Agora copie esta linha de código para sua própria página de configurações (o painel do lado direito) e salve -
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
Nota: "C:\\Program Files\Git\bin\bash.exe"
é o caminho em que o bash.exe
arquivo está localizado na instalação do Git. Se você estiver usando o shell Bash do Windows Subsystem para Linux (WSL), o caminho seria"C:\Windows\System32\bash.exe"
Agora pressione Ctrl+ `para abrir o terminal do Visual Studio Code. E você terá Bash -
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\bin\bash.exe"
terminal não estava abrindo. Tentei "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
. Funcionou perfeitamente para mim.
bash.exe
e não git-bash.exe
. Este último abrirá um terminal fora do código VS como uma janela separada, enquanto bash.exe
será executado dentro do código VS.
Instale o Git em https://git-scm.com/download/win
Abra o Código do Visual Studio e pressione e segure Ctrl+ `para abrir o terminal.
Abra a paleta de comandos usando Ctrl+ Shift+ P.
Tipo - Selecione Shell Padrão
Selecione Git Bash nas opções
Clique no ícone + na janela do terminal
O novo terminal agora será um terminal Git Bash. Aguarde alguns segundos para carregar o Git Bash
Agora você pode alternar entre os diferentes terminais e também no menu suspenso.
Atualizado: as versões mais recentes do Visual Studio Code têm o comando Selecionar Shell Padrão no menu suspenso do terminal:
Lembre-se de que apenas lista os shells que estão na sua variável de ambiente% PATH%. Para conchas que não estão no seu caminho, consulte outras respostas.
Dica extra: quando você iniciar o bash, ele será executado .bashrc
, se você tiver comandos de inicialização, .bash_profile
deverá copiá-lo para .bashrc
. É essencial para o uso de ambientes Conda no Git Bash.
A maneira mais fácil agora (pelo menos a partir do Visual Studio Code 1.22) é digitar Shift+ Ctrl+ Ppara abrir a Paleta de Comandos e digitar:
Select Default Shell
Agora você pode facilmente selecionar seu shell preferido entre os encontrados no seu caminho :
Para conchas que não estão no seu% PATH%, consulte as outras respostas.
Veja a referência completa do shell do Visual Studio Code . Há muita coisa carnuda.
Pressione e segure Ctrl+ `para abrir o terminal. Dentro do terminal, digite bash
para usar o Git Bash no terminal. Nota: Verifique se o Git Bash está instalado em sua máquina.
Se você deseja usar o PowerShell novamente, basta digitar powershell
o terminal. Para usar a linha de comando do Windows, digite cmd
o terminal.
A configuração escolhida será usada como padrão.
exit
do seu shell bash executando dentro do shell padrão e digite, powershell
pois o bash não sabe o que é o powershell.
Para mim, o seguinte é a única combinação que funciona!
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\git-cmd.exe",
"terminal.integrated.shellArgs.windows": [
"--command=usr/bin/bash.exe",
"-l",
"-i"
]
Com o git-bash.exe como ...shell.windows
sempre, toda vez que o Bash era aberto fora do Visual Studio !!
As coisas foram um pouco alteradas devido às atualizações mais recentes do Visual Studio Code. Os seguintes passos funcionam para mim.
Pressione Ctrl+ Shift+ Ppara abrir o palato de comando do Visual Studio Code.
Digite >preferences: Open Settings (JSON)
na área de texto.
Adicione as seguintes linhas no final do arquivo JSON, que é exibido no painel direito.
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
Feche e reabra sua instância do Visual Studio Code.
Segui este tutorial de Paul DeCarlo para usar o Bash do Windows Subsystem for Linux (WSL) em vez do que vem com o Git Bash para Windows. Elas são as mesmas etapas acima na resposta, mas use as opções abaixo nas Configurações do usuário.
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe",
Isso funcionou para mim pela primeira vez ... o que é raro para essas coisas.
Isso, pelo menos para mim, fará com que o Visual Studio Code abra uma nova janela do Bash como um terminal externo.
Se você deseja o ambiente integrado, precisa apontar para o sh.exe
arquivo dentro da bin
pasta da sua instalação do Git.
Portanto, a configuração deve dizer C:\\<my-git-install>\\bin\\sh.exe
.
Depende se você instalou o Git Bash apenas no usuário atual ou em todos os usuários:
Se estiver instalado em todos os usuários, coloque "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
suas Configurações do Usuário ( Ctrl+ Comma).
Se estiver instalado apenas no usuário atual, coloque "terminal.integrated.shell.windows": "C:\\Users\\<name of your user>\\AppData\\Local\\Programs\\Git\\bin\\bash.exe"
suas Configurações do usuário ( Ctrl+ Comma).
Se os métodos listados acima não funcionarem, tente a solução da Christer, que diz:
Se você deseja o ambiente integrado, precisa apontar para o
sh.exe
arquivo dentro dabin
pasta da sua instalação do Git.Portanto, a configuração deve dizer
C:\\<my-git-install>\\bin\\sh.exe
.
Nota: O sh.exe e o bash.exe parecem completamente iguais para mim. Não deve haver diferença entre eles.
Adicione o Git\bin
diretório à Path
variável de ambiente. O diretório é %ProgramFiles%\Git\bin
por padrão. Dessa forma, você pode acessar o Git Bash simplesmente digitando bash
todos os terminais, incluindo o terminal integrado do Visual Studio Code.
Como definir as variáveis de caminho e ambiente no Windows
Eu já havia configurado muitos conda
ambientes no WSL
(Bash no Ubuntu no Windows), então queria usar a mesma instalação do Bash no Visual Studio Code.
Para fazer isso, eu apenas precisei especificar o caminho desse executável Bash específico (em vez deGit-Bash
) nas configurações do Visual Studio Code:
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe"
PS : para garantir que o seu executável Ubuntu on Bash esteja instalado na sua máquina Windows, abra o Command prompt
(search cmd
:) e execute:
where bash.exe
Essa resposta é semelhante à resposta mais votada, mas com uma distinção importante: muitas das respostas anteriores sobre esta questão se concentram na execução do Git Bash, enquanto a minha resposta se concentra na execução do WSL Bash .
Habilite o Windows Subsystem para Linux na sua máquina Windows 10.
Abra o Código do Visual Studio e pressione e segure Ctrl + `para abrir o terminal.
Abra a paleta de comandos usando Ctrl + Shift + P.
Digite - Select Default Shell
.
Selecione WSL Bash
(NÃO Git Bash
) nas opções.
+
ícone na janela do terminal. O novo terminal agora será um terminal WSL Bash!Código VS mais recente:
Ctrl+,
)edit in settings.json
. Clique e adicione"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
O terminal Bash refletirá no terminal.
Por acaso, estou consultando uma empresa da Fortune 500 e infelizmente é o Windows 7 e nenhum privilégio de administrador. Assim, Node.js, Npm, Visual Studio Code, etc. foram enviados para minha máquina - não posso mudar muito, etc ...
Para este computador executando o Windows 7:
Abaixo estão minhas novas configurações. O que não está funcionando é comentado.
{
"update.channel": "none",
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
//"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe"
}
Tentei as respostas acima a partir do vscode 1.42.1 e elas funcionaram na medida em que me permitiam um terminal git bash. Portanto, o resultado dessa configuração funciona apenas para abrir um shell bash do terminal:
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
No entanto, ele tem o efeito colateral indesejado de também ser o shell usado para criar coisas e interrompe a cadeia do MS C ++ porque o \
caractere usado para o separador de caminho é entendido pelo bash como um caractere de escape. A correção completa para mim exigiu que eu adicionasse essa variável extra, configurando-a como powershell:
"terminal.integrated.automationShell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
Agora, posso ter meu terminal bash e / Ctrl-Shift-B
ou F5
trabalhar sem problemas.
Ah, e como outros pôsteres mencionados, a fonte dessas informações é a documentação do VSCode .
E as conchas e o code [args]
suporte separados ou não relacionados ?
Enquanto outras respostas falam sobre como configurar e usar o suporte integrado ao bash
terminal WSL do VScode , elas não resolvem o problema de "shells desconectados": shells que não foram lançados no VScode ou que de alguma forma são "desconectados" do servidor VScode instância associada ao IDE.
Tais cascas podem dar erros como:
Command is only available in WSL or inside a Visual Studio Code terminal.
ou...
Unable to connect to VS Code server.
Error in request
Aqui está um script que facilita a solução desse problema.
Eu uso isso diariamente para conectar shells em uma tmux
sessão com uma instância específica do servidor VScode ou para corrigir um shell integrado que foi desanexado do IDE de hospedagem.
#!/bin/bash
# codesrv-connect
#
# Purpose:
# Copies the vscode connection environment from one shell to another, so that you can use the
# vscode integrated terminal's "code [args]" command to communicate with that instance of vscode
# from an unrelated shell.
#
# Usage:
# 1. Open an integrated terminal in vscode, and run codesrv-connect
# 2. In the target shell, cd to the same directory and run
# ". .codesrv-connect", or follow the instruction printed by codesrv-connect.
#
# Setup:
# Put "codesrv-connect somewhere on your PATH (e.g. ~/bin)"
#
# Cleanup:
# - Delete abandoned .codesrv-connect files when their vscode sessions die.
# - Do not add .codesrv-connect files to git repositories.
#
# Notes:
# The VSCODE_IPC_HOOK_CLI environment variable points to a socket which is rather volatile, while the long path for the 'code' alias is more stable: vscode doesn't change the latter even across a "code -r ." reload. But the former is easily detached and so you need a fresh value if that happens. This is what codesrv-connect does: it captures the value of these two and writes them to .codesrv-connect in the current dir.
#
# Verinfo: v1.0.0 - les.matheson@gmail.com - 2020-03-31
#
function errExit {
echo "ERROR: $@" >&2
exit 1
}
[[ -S $VSCODE_IPC_HOOK_CLI ]] || errExit "VSCODE_IPC_HOOK_CLI not defined or not a pipe [$VSCODE_IPC_HOOK_CLI]"
if [[ $(which code) != *vscode-server* ]]; then
errExit "The 'code' command doesn't refer to something under .vscode-server: $(type -a code)"
fi
cat <<EOF >.codesrv-connect
# Temp file created by $(which codesrv-connect): source this into your working shell like '. .codesrv-connect'
# ( git hint: add ".codesrv-connect" to .gitignore )
#
cd "$PWD"
if ! test -S "$VSCODE_IPC_HOOK_CLI"; then
echo "ERROR: $VSCODE_IPC_HOOK_CLI not a socket. Dead session."
else
export VSCODE_IPC_HOOK_CLI="$VSCODE_IPC_HOOK_CLI"
alias code=$(which code)
echo "Done: the 'code' command will talk to socket \"$VSCODE_IPC_HOOK_CLI\" now."
echo "You can delete .codesrv-connect when the vscode server context dies, or reuse it in other shells until then."
fi
EOF
echo "# OK: run this to connect to vscode server in a destination shell:"
echo ". $PWD/.codesrv-connect"
Se você já possui CLIs "bash", "powershell" e "cmd" e possui configurações de caminho corretas, a alternância de uma CLI para outra pode ser feita das seguintes maneiras.
Ctrl+ ': Abre a janela do terminal com a CLI padrão.
bash + enter: alterna da CLI padrão / atual para a CLI bash .
powershell + enter: alterne da CLI padrão / atual para a CLI do powershell .
cmd + enter: alterna da CLI padrão / atual para a CLI do cmd .
A versão do código VS que estou usando é 1.45.0