Cette question et quelques autres expliquent comment cela pourrait fonctionner sur un Mac, mais je n'ai pas pu trouver de documentation de MS ou d'Atlassian sur un moyen de le faire sur Windows sans essayant d'en faire le paramètre git global. (Je préfère juste changer les choses dans le IDE si possible.)
Quels sont les paramètres à utiliser avec les paramètres "Personnalisés" dans l'onglet "Diff" de la boîte de dialogue "Options" de SourceTree, pour diff'er et fusionner avec VS-Code?
Il peut y avoir d'autres meilleures variations, mais après quelques expériences, j'ai trouvé que cela fonctionnait assez bien ...
La "Commande Diff" dans les deux cas est le chemin d'accès à l'endroit où VS-Code est installé, par exemple:
C:/Utilisateurs/nom d'utilisateur/AppData/Local/Programs/Microsoft VS Code/Code.exe
o
C:/Program Files (x86)/Microsoft VS Code/Code.exe
Les arguments de ligne de commande pour Diff'ing sont:
--diff --wait "$ LOCAL" "$ REMOTE"
Et pour la fusion:
-n - attendre "$ MERGED"
Le drapeau '-n' ouvre VS-Code dans une nouvelle fenêtre, ce que je préfère car VS-Code s'ouvre si vite, mais vous pouvez l'omettre. Lorsque vous traitez des conflits de fusion, vous devez fermer le fichier lorsque vous avez terminé pour continuer. SourceTree ne semble pas supprimer systématiquement les fichiers intermédiaires qu'il crée, mais vous pouvez les sélectionner, les cliquer avec le bouton droit et les "supprimer" de la section des fichiers non intermédiaires assez facilement.
J'ai pu configurer avec les étapes suivantes en utilisant le code.cmd
script
code.cmd
commande C:\Users\[nom d'utilisateur]\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd
Utilisation des mêmes arguments de ligne de commande que l'explique @HeyHeyJC
Les arguments de ligne de commande pour Diff'ing sont:
--diff --wait "$ LOCAL" "$ REMOTE"
Et pour la fusion:
-n - attendre "$ MERGED"
Pour moi, j'ai ensuite pu utiliser à la fois diff et la fusion à partir de sourcetree.
Remarque: par défaut lecode.cmd
le fichier contenait un argument de ligne de commande pour ouvrir les instructions CLI"%~dp0..\resources\app\out\cli.js"
, et l'avoir ouvert à chaque fois était un peu fastidieux! J'ai supprimé cela pour que mon fichier se présente comme suit, maintenant seuls les fichiers envoyés depuis sourcetree sont ouverts.
@echo off
setlocal
set VSCODE_DEV=
set ELECTRON_RUN_AS_NODE=1
call "%~dp0..\Code.exe" %*
endlocal