Saltar al contenido

Cómo usar Visual Studio Code como editor predeterminado para Git MergeTool

Esta duda se puede abordar de variadas formas, por lo tanto te damos la que en nuestra opinión es la solución más completa.

Solución:

A partir de Visual Studio Code 1.13 Mejor fusión se integró en el núcleo de Visual Studio Code.

La manera de conectarlos juntos es modificar su .gitconfig y tu tienes dos opciones.

  1. Para hacer esto con las entradas de la línea de comando, ingrese cada uno de estos: (Nota: reemplazar " con ' en Windows Git Bash, macOS y Linux según aclaran 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 hacer esto pegando alguna línea en el .gitconfig con el código de Visual Studio.

    • Correr 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 Visual Studio Code 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 dentro de su directorio Git con una ejecución de conflicto git mergetool y, tada, ¡tienes Visual Studio Code ayudándote a manejar el conflicto de fusión! (Solo asegúrese de guarda tu archivo antes de cerrar Visual Studio Code).

¿Aceptar cambio entrante a alguien?

Para leer más sobre el lanzamiento code desde la línea de comando, busque en esta documentación.

Para más información en git mergetool echa un vistazo a esta documentación.

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.

Además de la excelente respuesta existente, debe abrir VS Code en una nueva ventana agregando -n a la línea de comandos.

Entonces tus git config --global --edit se parece a esto.

[merge]
        tool = vscode
[mergetool "vscode"]
        cmd = code -n --wait $MERGED
[diff]
        tool = vscode
[difftool "vscode"]
        cmd = code -n --wait --diff $LOCAL $REMOTE                                                    

valoraciones y comentarios

Te invitamos a animar nuestro ensayo exponiendo un comentario y puntuándolo te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *