Je voudrais configurer Visual Studio pour ouvrir Beyond Compare par défaut comme outil de comparaison. Comment puis-je faire ceci?
Je voudrais configurer Visual Studio pour ouvrir Beyond Compare par défaut comme outil de comparaison. Comment puis-je faire ceci?
Réponses:
Dans Visual Studio, accédez au menu Outils , sélectionnez Options , développez Contrôle de code source (dans un environnement TFS, cliquez sur Visual Studio Team Foundation Server) et cliquez sur le bouton Configurer les outils utilisateur .
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 approprié 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 approprié 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 approprié 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, cela peut devenir confus 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 les onglets.
Si vous utilisez GIT comme système de gestion de code source au lieu du TFVC (assez daté), Visual Studio n'a pas d'options pour configurer quelque chose comme ça.
Au lieu de cela, il (à juste titre à mon avis) utilise le paramètre du fichier de configuration GIT . Donc, si vous avez déjà une configuration GIT pour utiliser Beyond Compare ou tout autre logiciel de comparaison tiers, il suffit de le récupérer et de commencer à l'utiliser.
Si ce n'est pas le cas, configurez-le simplement (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) ou si vous voulez qu'il soit specifict repo puis après le démarrage d' un projet dans un dépôt Git, modifier le fichier de configuration dans le dossier .git dans le dossier de 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 obtenez VS pour créer le git en même temps , il FERA ajouter une charge de substitutions au .git/config
fichier forçant à utiliser à nouveau Visual Studio (Merci pour cette MS!). SO soit créer le dépôt git via un autre moyen après que le projet a été configuré (comme via SourceTree ou la ligne de commande, etc.) OU éditez le .git/config
fichier (dans le dossier de la solution) et supprimez tous les remplacements pour les paramètres ci-dessus.
Merci à Minnow dans les commentaires d'avoir à nouveau attiré mon attention.
Remarque: je continue de rencontrer ce problème, mais j'utilise VS avec GIT et les réponses ne sont pas correctes et bien que certains commentaires mentionnent une URL avec la bonne réponse, ce n'est pas clair et si je la manquais, je suis sûr que d'autres le feront nous espérons que cela résoudra ce problème.
\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
Si vous utilisez le TFS, vous pouvez trouver plus d'informations dans la configuration diff / merge dans Team Foundation - Commune Command and Argument values
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 sort, ou que je déplace des PC, ou qu'un nouveau membre rejoint l'équipe. Donc, 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é, il prend donc effet immédiatement.
computer\hkey_local_machine\scooter software\beyond compare\exepath
.
Dans Visual Studio 2008 +, accédez au
Tools menu --> select Options
Dans la fenêtre Options -> développez Contrôle de source -> Sélectionnez Outils utilisateur Subversion -> Sélectionnez Au-delà de la comparaison
et cliquez sur le bouton OK.
La réponse publiée par @schellack est parfaite pour la plupart des scénarios, mais je voulais que Beyond Compare simule la vue `` Fusion bidirectionnelle avec un panneau de résultats '' que Visual Studio utilise dans sa propre fenêtre de fusion.
Cette configuration masque le panneau du milieu (qui n'est pas utilisé dans la plupart des cas AFAIK).
%1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
Merci à Morgen
VS2013 sur Windows 7 64 bits nécessite ces paramètres: Outils | Options | Contrôle de source | Contrôle de source Jazz
VÉRIFIEZ LA CHECKBOX Utilisez un outil de comparaison externe ... (facile à manquer)
Emplacement de comparaison bidirectionnelle de l'exécutable: C: \ Program Files (x86) \ Beyond Compare 3 \ BCompare.exe
Comparaison de conflits à 3 voies Emplacement de l'exécutable: C: \ Program Files (x86) \ Beyond Compare 3 \ BCompare.exe
BComp.exe fonctionne également dans les scénarios à onglets multiples, il n'est donc pas nécessaire d'ajouter / solo, sauf si vous voulez vraiment des fenêtres distinctes pour chaque comparaison de fichiers. Testé / vérifié sur Beyond Compare 3 et 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 POUR WINDOWS".
http://www.scootersoftware.com/support.php?zz=kb_vcs#githubwindows
Le fichier de configuration se trouvait là où il était indiqué dans "c: \ users \ username \ .gitconfig" et je viens de changer les BC4 en BC3 pour ma situation et j'ai utilisé le chemin approprié:
C: / Program Files (x86) / Beyond Compare 3 / bcomp.exe
J'utilise BC3 pour mon git diff, mais j'ajouterais également vscode à la liste des outils git diff utiles . Certains utilisateurs préfèrent vscode à vs ide expérience .
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"