visual usar studio para log link instalar extension create como code git cmd visual-studio-code git-merge mergetool

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 .

  1. 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)

    1. git config --global merge.tool vscode
    2. git config --global mergetool.vscode.cmd "code --wait $MERGED"
    3. git config --global diff.tool vscode
    4. git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
  2. 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"

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.