Ao usar o git na linha de comando, pergunto-me se é possível usar o Visual Studio Code como editor padrão, ou seja, ao criar comentários de confirmação e ao olhar para um diff de um arquivo na linha de comando.
Entendo que não será possível usá-lo para fazer mesclagens (pelo menos no minuto), mas alguém sabe se é possível usá-lo para analisar diffs e, se sim, quais opções de linha de comando seriam necessárias em o arquivo .gitconfig para fazer isso acontecer?
ATUALIZAÇÃO 1:
Eu tentei uma abordagem semelhante ao que fiz no 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]>
O código é aberto corretamente, com o conteúdo esperado, mas não está aguardando a resposta, ou seja, clicar em salvar e fechar a janela para retornar ao prompt.
ATUALIZAÇÃO 2:
Acabei de receber uma resposta de um dos desenvolvedores que trabalha no VSCode. Parece que atualmente esta funcionalidade não é suportada :-(
https://twitter.com/IsidorN/status/595501573880553472
Se você estiver interessado em ver esse recurso ser adicionado, convém adicionar seus votos aqui:
ATUALIZAÇÃO 3:
Fui informado com segurança que esse recurso foi escolhido pela equipe do VSCode, por isso estou ansioso por um lançamento futuro que o inclua.
ATUALIZAÇÃO 4:
Graças ao comentário do @ f-boucheros abaixo, eu consegui fazer o VS Code funcionar como editor padrão para comentários, rebase, etc. Eu ainda gostaria de ver se é possível usá-lo também como a ferramenta diff.
ATUALIZAÇÃO 5:
De acordo com a resposta aceita para a pergunta, agora é possível usar a versão V1.0 do código.
fonte
--new-window
ao comando é útil. Dessa forma, a operação git será aberta em uma nova janela.Ctrl+Shift+P
? O meu não está funcionando (não estácode --help
disponível) e não entendo o que significa: "Verifique se você selecionou Adicionar ao PATH durante a instalação" O que devo fazer para verificar isso? Alguém por favor pode me ajudar?"files.hotExit": "off"
na parte inferior da sua configuraçãogit config core.editor "code -n --wait"
com o VS Code 1.17.2, executando a partir da linha de comando externa. Amboscode
ecode --wait
me deram a "Anulação da confirmação devido à mensagem de confirmação vazia".Pelo que entendi, o VSCode não está mais no AppData.
Portanto, defina o editor git padrão executando esse comando em uma janela de prompt de comandos:
O parâmetro
-w
,--wait
é esperar para a janela ser fechada antes de retornar. O Código do Visual Studio é baseado no Atom Editor. se também tiver átomo instalado executar o comandoatom --help
. Você verá que o último argumento na ajuda é esperar.Da próxima vez que você fizer
git rebase -i HEAD~3
isso, o Visual Studio Code será exibido. Quando o VSCode estiver fechado, o Git retomará a liderança.Nota: Minha versão atual do VSCode é 0.9.2
Espero que ajude.
fonte
-w
e onde você achou isso documentado?git config --global core.editor "code --wait"
.Você precisa usar o comando:
Certifique-se de iniciar seu editor no Git Bash
Se você quiser usar o Code.exe com caminho curto, poderá fazer isso adicionando a seguinte linha ao seu .bash_profile:
E agora, você pode chamá-lo usando apenas o
vscode
comando (ou o que você nomeou)Algumas informações adicionais:
fonte
-n
é a abreviação de--new-window
fazer o git abrir uma nova janela do editor e-w
é a abreviação de--wait
fazer o git esperar que você feche a janela novamente. Esta é a única resposta que funciona para mim, porque se eu já tiver o VS Code aberto--wait
, não funcionarei sem--new-window
.Outra opção útil é definir
EDITOR
variável de ambiente. Essa variável de ambiente é usada por muitos utilitários para saber qual editor usar. O Git também o usa se nãocore.editor
estiver definido.Você pode configurá-lo para a sessão atual usando:
Dessa forma, não apenas
git
, mas muitos outros aplicativos usarão o VS Code como um editor.Para tornar essa alteração permanente, adicione-a ao seu,
~/.profile
por exemplo. Veja esta pergunta para mais opções.Outra vantagem dessa abordagem é que você pode definir editores diferentes para diferentes casos:
Isso é útil especialmente com o VS Code (ou qualquer outro editor de GUI) porque simplesmente não funciona sem a GUI.
No sistema operacional Linux, coloque isso em seu
~/.profile
:Dessa forma, quando você usa um terminal local, a
$SSH_CONNECTION
variável de ambiente fica vazia, então ocode -w
editor será usado, mas quando você estiver conectado através do SSH,$SSH_CONNECTION
a variável de ambiente será uma string não vazia, portanto ovim
editor será usado. É um editor de console, portanto funcionará mesmo quando você estiver conectado através do SSH.fonte
Abri o meu
.gitconfig
e alterei-o com:Isso foi feito por mim (estou no Windows 8).
No entanto, notei que, depois de tentar arbitrariamente,
git commit
no meu console do Git Bash , vejo a seguinte mensagem:Sem saber quais podem ser as ramificações disso.
fonte
app-0.1.0/resources/app/env.js
parece conter alguns sinalizadores de linha de comando que o executável do código usa. Ninguém sugere um comportamento equivalente ao do-multiInst
pensamento.--wait
sinalizador, e o--new-window
sinalizador também é altamente recomendado, para que o commit msg / diff / o que seja não apareça como uma nova guia em um editor já aberto, exigindo que você feche os arquivos. trabalhando para sinalizar ao git que você terminou de editar.O GitPad define seu editor de texto atual como o editor padrão do Git.
Meu editor padrão para
.txt
arquivos no Windows 10 é o Visual Studio Code, e a execução do GitPad o tornou o editor padrão do Git. Não tive os problemas mencionados na pergunta (o Git aguarda até que a janela do VS Code seja fechada no meu caso).(O link para o
.exe
arquivo não funcionou para mim, pode ser necessário compilar a fonte.)fonte
Right click
>Open with
>Chose another app
. Eu esperaria que ele se registrasse na instalação (e atualizasse o registro a cada atualização para que o shell possa encontrá-lo), mas não encontrei nada além do item de menu de contexto "Abrir com código" no registro. Então, eu realmente não tenho uma resposta mais clara para isso, desculpe.Boas notícias! No momento da redação deste artigo, esse recurso já havia sido implementado na versão 0.10.12-insiders e realizado através da 0.10.14-insiders . Portanto, teremos isso na próxima versão 1.0 do VS Code .
Implementação Ref: Implement -w / - wait command line arg
fonte
Só quero adicionar essas barras invertidas às respostas anteriores, estou no Windows 10 CMD e não funciona sem as barras invertidas antes dos espaços.
fonte
Não tenho certeza se você pode fazer isso, no entanto, você pode tentar essas adições no seu arquivo gitconfig.
Tente substituir o kdiff3 desses valores para apontar para o código do visual studio executável.
[merge] tool = kdiff3 [mergetool "kdiff3"] path = C:/Program Files/KDiff3/kdiff3.exe keepBackup = false trustExitCode = false
fonte
Configurei o Visual Studio Code como padrão para abrir o arquivo .txt. E no próximo eu fiz comando simples uso:
git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'"
. E tudo funciona muito bem.fonte
Execute este comando no seu aplicativo Mac Terminal
fonte
no windows 10 usando a edição de 64 bits, o comando deve ser:
você também pode renomear o 'code-insiders.cmd' para 'code.cmd' no diretório 'Arquivos de Programas'. Dessa forma, agora você pode usar o comando 'código'. para começar a editar os arquivos no. diretório
fonte