Habilitando git bash como terminal no VSCode no Windows
Criando aqui porque sofri bastante com isso. Como fazer para no windows ter a opção de rodar o bash no terminal do VSCode?
Eu particularmente não consegui fazer via interface, precisei abrir as
configurações e inserir a informação na mão. Digite Ctrl+Shift+P
e entre
o comando settings.json
. Vai aparecer a opção Preferences: Open Settings
(JSON)
. Abra essa opção.
O campo que nos interessa é aquele de chave "terminal.integrated.profiles.windows"
.
O próprio VSCode nos mostra este hint:
Esse campo, por sua vez, tem campos que, independentemente de seu valor, apontam para objetos do tipo “objetos de shell”:
Seus campos são:
args
color
env
extensionIdentifier
icon
id
overrideName
path
source
title
Desses, usei o path
para especificar onde estava exatamente o meu executável.
Como eu queria pegar da minha instalação local do git-bash
, que estava em
local não padronizado, precisei apenas mencionar o bash
diretamente.
Por sinal, na estrutura da instalação do git-bash
, você precisa invocar apenas
o bash
. Ele está não na raiz do diretório de instalação, mas dentro de bin
.
No meu caso, a instalação fica em ~/AppData/Local/git
. Mas não consigo mencionar
isso desse jeito para o VSCode entender onde está. Primeiro que o padrão é usar
o separador de diretórios do Windows, que é \
, não /
. Segundo que eu preciso
mencionar variáveis de ambiente que de fato existam a nível de VSCode, expansão
tilde não é garantido e ${HOME}
não é uma dessas variáveis no Windows.
Mas sabe o que o Windows me oferece? A variável Homepath
. Tomando como exemplo
o que tem para o Command prompt
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
}
citar a variável de ambiente é fazer ${env:someVar}
. Como eu quero Homepath
,
então é ${env:Homepath}
. Isso me daria o seguinte:
"bash": {
"path": "${env:Homepath}\\AppData\\Local\\git\\bin\\bash.exe",
"args": [],
"icon": "git-branch"
}
porém, se eu for fazer a expansão disso, não começa do o drive de disco C, onde
está de fato a minha home. Começa direto com \Users\MyUser
. E como fazer para
mostrar também o drive de onde se situa a minha home? Bem, buscando de modo
meio aleatório descobri a variável Homedrive
…
"bash": {
"path": "${env:Homedrive}${env:Homepath}\\AppData\\Local\\git\\bin\\bash.exe",
"args": [],
"icon": "git-branch"
}
Essa expansão com Homedrive
na frente, já me fornece o caminho C:\Users\MyUser
,
como esperado.
Então, para criar o perfil para bash, preciso criar um novo elemento no mapeamento
"terminal.integrated.profiles.windows"
(chamado de bash
para facilitar a
identificação), que tenha o path
com o valor
"${env:Homedrive}${env:Homepath}\\AppData\\Local\\git\\bin\\bash.exe"
.
Além disso, não quero passar nenhum parâmetro específico nos argumentos, ao menos
por hora, então cito que "args": []
. E também vale a pena citar qual o ícone a ser
utilizado. Nesse caso, um que achei bonitinho foi o git-branch
, serviu para a minha
finalidade de indicar que é uma shell vinda do git-bash
. Veja no lado direito o
ícone do git-branch
:
Depois de configurado isso, podemos setar o perfil padrão. Um dos modos de setar
isso é apertando o menu de opções ao lado do +
de adicionar um novo terminal:
Ao clicar no Select Default Profile
, os perfis são exibidos na barra de comando.