Como usar o código do Visual Studio como editor padrão para o Git

Ao usar o git na linha de comando, eu estou querendo saber se é possível usar o Visual Studio Code como editor padrão, ou seja, ao criar comentários de commit, e olhar para um diff de um arquivo a partir da linha de comando.

Eu entendo que não será possível usá-lo para fazer mesclagens (pelo menos no momento), mas alguém sabe se é possível usá-lo para observar o diff e, em caso afirmativo, quais opções de linha de comando seriam necessárias? o arquivo .gitconfig para fazer isso acontecer?

ATUALIZAÇÃO 1:

Eu tentei uma abordagem semelhante ao que eu fiz para o Notepad ++ no passado , ou seja,

#!/bin/sh "c:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*" 

E usado:

 #!/bin/sh "C:\Users\gep13\AppData\Local\Code\app-0.1.0\Code.exe" "$*" 

Mas isso resulta em uma mensagem de erro:

 C:\temp\testrepo [master +1 ~0 -0]> git commit [8660:0504/084217:ERROR:crash_reporter_win.cc(70)] Cannot initialize out-of-process crash handler Aborting commit due to empty commit message. C:\temp\testrepo [master +1 ~0 -0]> 

Código abre corretamente, com o conteúdo esperado, mas não está aguardando a resposta, ou seja, clicando em salvar e fechar a janela para retornar ao prompt.

ATUALIZAÇÃO 2:

Acabei de receber uma resposta de um dos desenvolvedores trabalhando no VSCode. Parece que esta funcionalidade atualmente não é suportada 🙁

Se você está interessado em ver este recurso ser adicionado, você pode querer pensar em adicionar seus votos aqui:

http://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7756482-support-git-configure-diff-and-merge-tools

ATUALIZAÇÃO 3:

Fui informado de forma confiável que esse recurso foi escolhido pela equipe do VSCode, por isso estou ansioso por uma versão futura que o inclua.

ATUALIZAÇÃO 4:

Graças ao comentário do @f-boucheros abaixo, eu consegui fazer o VS Code funcionar como o editor padrão para comentários, rebase, etc. Eu ainda gostaria de ver se é possível usá-lo como a ferramenta diff também.

ATUALIZAÇÃO 5:

De acordo com a resposta aceita para a pergunta, isso agora é possível usando a versão V1.0 do código.

No lançamento mais recente (v1.0, lançado em março de 2016 ), agora você pode usar o VS Code como a ferramenta padrão de confirmação / teste git . Citado a partir das documentações:

  1. Certifique-se de que você pode executar o code --help partir da linha de comando e obter ajuda.
    • Se você não vir ajuda, siga estas etapas:
      • Mac: selecione o comando Shell: instale o comando ‘Code’ no caminho da paleta de comandos.
      • Windows: Certifique-se de ter selecionado Adicionar ao PATH durante a instalação.
      • Linux: Certifique-se de ter instalado o Code através dos nossos novos pacotes .deb ou .rpm.
  2. Na linha de comando, execute git config --global core.editor "code --wait"

Agora você pode executar git config --global -e e usar o VS Code como editor para configurar o Git. insira a descrição da imagem aqui Adicione o seguinte para ativar o suporte para usar o código VS como ferramenta de comparação:

 [diff] tool = default-difftool [difftool "default-difftool"] cmd = code --wait --diff $LOCAL $REMOTE 

Isso aproveita a nova opção --diff você pode passar para o VS Code para comparar dois arquivos lado a lado.

Para resumir, aqui estão alguns exemplos de onde você pode usar o Git com o VS Code:

  • git rebase HEAD~3 -i permite rebase interativo usando o código VS
  • git commit permite usar o VS Code para a mensagem de commit
  • git add -p seguido por e para adicionar interativo
  • git difftool ^ permite usar o VS Code como editor de diferenças

Pelo que entendi, o VSCode não está mais no AppData.

Então, defina o editor git padrão, executando esse comando em uma janela de prompt de comando:

 git config --global core.editor "'C:\Program Files (x86)\Microsoft VS Code\code.exe' -w" 

O parâmetro -w , --wait é aguardar que a janela seja fechada antes de retornar. O código do Visual Studio é baseado no Atom Editor. se você também tiver o atom instalado, execute o comando atom --help . Você vai ver o último argumento na ajuda é esperar.

Da próxima vez que você fizer um git rebase -i HEAD~3 irá aparecer o código do Visual Studio. Uma vez que o VSCode está próximo, o Git irá recuperar a liderança.

Nota: Minha versão atual do VSCode é 0.9.2

Espero que ajuda.

Você precisa usar o comando:

 git config --global core.editor "'C:\Program Files\Microsoft VS Code\code.exe' -n -w" 

Certifique-se de que você pode iniciar seu editor do Git Bash

Se você quiser usar Code.exe com um caminho curto, você pode fazer isso adicionando a seguinte linha ao seu .bash_profile:

 alias vscode="C:/Program\ Files/Microsoft\ VS\ Code/Code.exe" 

E agora, você pode chamá-lo usando apenas o comando vscode (ou qualquer nome que você tenha)

Algumas informações adicionais:

O programa de instalação adicionará o código do Visual Studio ao% PATH%, portanto, no console, você pode digitar “código” para abrir o código VS nessa pasta. Você precisará reiniciar o console após a instalação para que a alteração na variável ambiental% PATH% entre em vigor.

Eu abri meu .gitconfig e o .gitconfig com:

 [core] editor = 'C:/Users/miqid/AppData/Local/Code/app-0.1.0/Code.exe' 

Isso fez isso por mim (estou no Windows 8).

No entanto, notei que depois de tentar um git commit arbitrário do git commit no meu console do Git Bash , vejo a seguinte mensagem:

 [9168:0504/160114:INFO:renderer_main.cc(212)] Renderer process started 

Não tem certeza de quais são as ramificações disso.

O GitPad define seu editor de texto atual como o editor padrão do Git.

Meu editor padrão para arquivos .txt no Windows 10 é o código do Visual Studio e a execução do GitPad tornou-o o editor padrão do Git. Eu não experimentei os problemas mencionados na questão (Git espera até que a janela VS Code seja fechada no meu caso).

(O link para o arquivo .exe não funcionou para mim, talvez seja necessário compilar a fonte).

Boas notícias! No momento em que este artigo foi escrito, este recurso já foi implementado na versão de 0.10.12-insiders e realizado através de usuários iniciados em 0.10.14 . Por isso, vamos tê-lo na próxima versão 1.0 Release of VS Code .

Implementação Ref: Implement -w / – wait linha de comando arg

Não tenho certeza se você pode fazer isso, no entanto, você pode tentar estas adições no seu arquivo gitconfig.

Tente replace o kdiff3 desses valores para apontar para o executável do código do Visual Studio.

[merge] tool = kdiff3 [mergetool "kdiff3"] path = C:/Program Files/KDiff3/kdiff3.exe keepBackup = false trustExitCode = false

Eu configurei o Visual Studio Code como padrão para abrir o arquivo .txt. Em seguida, usei o comando simples: git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'" . E tudo funciona muito bem.

Execute este comando no seu aplicativo Mac Terminal

 git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code" 

no Windows 10 usando a edição de 64 bits do insiders o comando deve ser:

git config –global core.editor “‘C: \ Arquivos de Programas \ Microsoft VS Insiders de Código \ bin \ code-insiders.cmd'”

Você também pode renomear o ‘code-insiders.cmd’ para ‘code.cmd’ no diretório ‘Program Files’, desta forma você pode agora usar o comando ‘code’. para começar a editar os arquivos no. diretório