Je voudrais configurer Visual Studio pour ouvrir Beyond Compare par défaut en tant qu'outil de différenciation. Comment puis-je faire ceci?
Dans Visual Studio, accédez au menu Outils , sélectionnez Options , développez Contrôle de la source , (dans un environnement TFS, cliquez sur Visual Studio Team Foundation Server), puis cliquez sur le bouton Configurer l'utilisateur. Outils bouton.
Cliquez sur le bouton Ajouter .
Entrez/sélectionnez les options suivantes pour comparer:
.*
Compare
C:\Program Files\Beyond Compare 3\BComp.exe
(remplacez par le chemin correct pour votre machine, y compris le numéro de version)%1 %2 /title1=%6 /title2=%7
Si vous utilisez Beyond Compare Professional (Fusion à 3 voies):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(remplacez par le chemin correct pour votre machine, y compris le numéro de version)%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9
Si vous utilisez Beyond Compare v3/v4 Standard ou Beyond Compare v2 (Fusion bidirectionnelle):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(remplacez par le chemin correct pour votre machine, y compris le numéro de version)%1 %2 /savetarget=%4 /title1=%6 /title2=%7
Si vous utilisez des onglets dans Beyond Compare
Si vous exécutez Beyond Compare en mode onglet, il peut y avoir confusion lorsque vous différez ou fusionnez plusieurs ensembles de fichiers à la fois à partir de Visual Studio. Pour résoudre ce problème, vous pouvez ajouter l'argument /solo
à la fin des arguments; Cela garantit que chaque comparaison s'ouvre dans une nouvelle fenêtre, en contournant le problème avec des onglets.
Si vous utilisez GIT en tant que votre système de gestion de code source au lieu de (assez daté) TFVC , alors Visual Studio ne t ont des options pour configurer quelque chose comme ça.
Au lieu de cela (à mon avis, à juste titre) utilise le paramètre paramètre du fichier de configuration GIT . Donc, si vous avez déjà configuré GIT pour utiliser Beyond Compare ou tout autre logiciel de comparaison tiers, il ne vous reste plus qu'à le prendre et commencer à l'utiliser.
Sinon, configurez simplement cela (voir ici pour une aide supplémentaire et probablement plus à jour). Les informations pertinentes pour la configuration de Visual Studio avec Beyond Compare 4 sont les suivantes:
%HOMEDRIVE%%HOMEPATH%/.gitconfig
. Voir ici pour plus d'informations) OR si vous voulez que ce soit spécifique au repo, puis après le démarrage un projet dans un référentiel Git, éditez le fichier de configuration dans le dossier .git du dossier du projet.Modifiez le fichier de configuration pour refléter les modifications suivantes:
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"C:\\Program Files (x86)\\Beyond Compare 4\\BComp.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
tool = bc4
[mergetool "bc4"]
cmd = \"C:\\Program Files (x86)\\Beyond Compare 4\\BComp.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\"
Si le programme d'installation 64 bits est utilisé, vérifiez le nom de l'exécutable. Le mien était BCompare.exe
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"C:\\Program Files\\Beyond Compare 4\\BCompare.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
tool = bc4
[mergetool "bc4"]
cmd = \"C:\\Program Files\\Beyond Compare 4\\BCompare.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\"
Problèmes: Si vous créez un nouveau projet et demandez à VS de créer le rapport git en même temps, il SERA ajoute une charge de remplacements au fichier .git/config
le forçant à utiliser Visual Studio à nouveau (Merci pour cette MS!). SO soit créer le repo git via un autre moyen une fois le projet configuré (comme via SourceTree ou la ligne de commande, etc ...) OR éditez le fichier .git/config
( dans le dossier de la solution) et supprimez tout remplacement pour les paramètres ci-dessus.
Merci à Minnow dans les commentaires d’avoir attiré à nouveau mon attention dessus.
Remarque: Je n'arrête pas de constater cela, mais j'utilise VS avec GIT et les réponses ne sont pas correctes et, même si certains commentaires mentionnent une URL avec le bonne réponse ce n'est pas clair et si je continuais à le manquer, je suis sûr que d'autres le feront si bien, espérons que cela résoudra le problème.
Si vous utilisez TFS, vous trouverez plus d'informations dans configuration diff/merge dans Team Foundation - valeurs communes de commande et d'argument
Il montre comment configurer les outils suivants:
Je me suis ennuyé de le faire tous les 6 mois lorsqu'une nouvelle version de Visual Studio est disponible, que je déplace des PC ou qu'un nouveau membre se joigne à l'équipe. Alors, PowerShell:
# .Synopsys
# Sets up Beyond Compare professional as Diff tool for all instances of Visual Studio on this PC
# If you don't use TFS, change the sccProvider as appropriate
[CmdLetBinding()]
param(
$bcPath = 'C:\Program Files (x86)\Beyond Compare 3\BComp.exe',
$sccProvider = 'TeamFoundation'
)
$ErrorActionPreference = 'stop';
$baseKey = 'REGISTRY::\HKCU\Software\Microsoft\VisualStudio\*'
function SetRegKeyProperties($keyPath, [hashtable]$keyProps){
if(!(Test-Path $keyPath)){
Write-Verbose "Creating $keyPath"
# Force required here to recursively create registry path
[void] (new-item $keyPath -Type:Directory -Force);
}
foreach($prop in $keyProps.GetEnumerator()){
Set-ItemProperty -Path:$keyPath -Name:$prop.Key -Value:$prop.Value;
}
}
$configBases = dir $baseKey | ? { $_.PSChildName -match '^\d+\.\d$' }
foreach($item in $configBases){
Write-Host "Configuring $item"
$diffToolsKey = Join-Path $item.PSPath "$sccProvider\SourceControl\DiffTools"
SetRegKeyProperties (Join-path $diffToolsKey '.*\Compare') @{Command=$bcPath;Arguments='%1 %2 /title1=%6 /title2=%7'}
SetRegKeyProperties (Join-path $diffToolsKey '.*\Merge') @{Command=$bcPath;Arguments='%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9'}
}
Fonctionne sur ma machine. YMMV. Aucune garantie, aucun remboursement. VS ne semble pas mettre en cache la clé, prend donc effet immédiatement.
Dans Visual Studio 2008 +, accédez à la
Tools menu --> select Options
Dans la fenêtre Options -> développez Contrôle source -> Sélectionnez Outils utilisateur Subversion -> Sélectionnez au-delà de la comparaison.
et cliquez sur le bouton OK ..
VS2013 sur Windows 7 64 bits requiert les paramètres suivants: Outils | Options | Contrôle de la source | Contrôle de source jazz
CHECK THE CHECKBOX Utilisez un outil de comparaison externe ... (facile à manquer)
Comparaison bidirectionnelle de l'emplacement de l'exécutable: C:\Program Files (x86)\Beyond Compare 3\BCompare.exe
Conflit à trois voies Comparez l'emplacement de l'exécutable: C:\Program Files (x86)\Beyond Compare 3\BCompare.exe
La réponse publiée par @schellack convient parfaitement à la plupart des scénarios, mais je souhaitais que Beyond Compare simule la vue "Fusion à 2 voies avec un panneau de résultats" utilisée par Visual Studio dans sa propre fenêtre de fusion.
Cette configuration masque le panneau central (qui n'est pas utilisé dans la plupart des cas, autant que je sache).
%1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
Merci à Morgen
BComp.exe fonctionne également dans un scénario à plusieurs onglets. Il n'est donc pas nécessaire d'ajouter/solo à moins que vous ne vouliez vraiment des fenêtres séparées pour chaque comparaison de fichier. Testé/vérifié sur Beyond Compare 3 and 4. Moral: utilisez BComp.exe et non BCompare.exe pour la configuration de l'outil de comparaison externe VS.
J'utilise VS 2017 avec des projets hébergés avec Git sur l'hébergement visualstudio.com (msdn)
Le lien ci-dessus a fonctionné pour moi avec les instructions "GITHUB FOR WINDOWS".
http://www.scootersoftware.com/support.php?zz=kb_vcs#githubwindows
Le fichier de configuration était situé à l'emplacement indiqué "c:\users\username.gitconfig" et je viens de remplacer les BC4 par BC3 pour ma situation et d'utiliser le chemin approprié:
C:/Fichiers de programme (x86)/Beyond Compare 3/bcomp.exe
J'utilise BC3 pour mon git diff, mais je voudrais aussi ajouter vscode à la liste des outils utiles de git diff . Certains utilisateurs préfèrent l'expérience vscode à vs ide .
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"