log - Cómo usar el código de Visual Studio como editor predeterminado para Git MergeTool
visual code editor git (2)
Hoy estaba tratando de usar el
git mergetool
en el símbolo del sistema de Windows y me di cuenta de que estaba predeterminado usar
VIM
, lo cual es genial, pero preferiría
VSCode
.
¿Cómo puedo tener la función Visual Studio Code como mi GUI para manejar conflictos de fusión (o incluso como una herramienta diferente) para Git?
A partir de VSCode 1.13, Better Merge se integró en el núcleo de VSCode.
La forma de conectarlos juntos es modificar su
.gitconfig
y tiene
dos opciones
.
-
Para hacer esto con las entradas de la línea de comando, ingrese cada una de estas: (Nota: reemplace
"
con''
en Windows Git Bash como lo aclaró Iztok Delfin y e4rache)-
git config --global merge.tool vscode
-
git config --global mergetool.vscode.cmd "code --wait $MERGED"
-
git config --global diff.tool vscode
-
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
-
-
Para hacerlo,
.gitconfig
alguna línea en.gitconfig
con VS Code .-
Ejecute
git config --global core.editor "code --wait"
desde la línea de comandos. -
Desde aquí puede ingresar el comando
git config --global -e
. Deberá pegar el código en el "Bloque adicional" a continuación.[user] name = EricDJohnson email = [email protected] [gui] recentrepo = E:/src/gitlab/App-Custom/Some-App # Comment: You just added this via ''git config --global core.editor "code --wait"'' [core] editor = code --wait # Comment: Start of "Extra Block" # Comment: This is to unlock VSCode as your git diff and git merge tool [merge] tool = vscode [mergetool "vscode"] cmd = code --wait $MERGED [diff] tool = vscode [difftool "vscode"] cmd = code --wait --diff $LOCAL $REMOTE # Comment: End of "Extra Block"
-
Ejecute
Ahora desde en su directorio git con un conflicto ejecute
git mergetool
y, tada, ¡tiene VSCode ayudándole a manejar el conflicto de fusión!
(Solo asegúrese de
guardar su archivo
antes de cerrar VSCode).
Para leer más sobre el
code
inicio desde la línea de comandos, consulte estos
docs
.
Para obtener más información en
git mergetool
consulte estos
docs
.
Tuve que reemplazar las comillas dobles con comillas simples:
git config --global difftool.vscode.cmd ''code --wait --diff $LOCAL $REMOTE''
para que funcione correctamente.
(con comillas dobles, $ LOCAL y $ REMOTE se reemplazan por sus valores)
Esto es necesario si está utilizando Git Bash para Windows en lugar del símbolo del sistema de Windows.