Ich möchte Visual Studio so konfigurieren, dass Beyond Compare standardmäßig als Diff-Tool geöffnet wird. Wie kann ich das machen?
Ich möchte Visual Studio so konfigurieren, dass Beyond Compare standardmäßig als Diff-Tool geöffnet wird. Wie kann ich das machen?
Antworten:
In Visual Studio finden Sie auf der Extras - Menü wählen Sie Optionen , erweitern Sie Quellcodeverwaltung , (in einer TFS - Umgebung finden Sie Visual Studio Team Foundation Server), und klicken Sie auf den Benutzer - Tools konfigurieren Schaltfläche.
Klicken Sie auf die Schaltfläche Hinzufügen .
Geben Sie die folgenden Optionen für Vergleichen ein / wählen Sie sie aus:
.*
Compare
C:\Program Files\Beyond Compare 3\BComp.exe
(durch den richtigen Pfad für Ihren Computer ersetzen, einschließlich Versionsnummer)%1 %2 /title1=%6 /title2=%7
Bei Verwendung von Beyond Compare Professional (3-Wege-Zusammenführung):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(durch den richtigen Pfad für Ihren Computer ersetzen, einschließlich Versionsnummer)%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9
Bei Verwendung von Beyond Compare v3 / v4 Standard oder Beyond Compare v2 (2-Wege-Zusammenführung):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(durch den richtigen Pfad für Ihren Computer ersetzen, einschließlich Versionsnummer)%1 %2 /savetarget=%4 /title1=%6 /title2=%7
Wenn Sie in Beyond Compare Registerkarten verwenden
Wenn Sie Beyond Compare im Registerkartenmodus ausführen, kann dies zu Verwirrung führen, wenn Sie in Visual Studio mehrere Dateien gleichzeitig unterscheiden oder zusammenführen. Um dies zu beheben, können Sie das Argument /solo
am Ende der Argumente hinzufügen . Dadurch wird sichergestellt, dass jeder Vergleich in einem neuen Fenster geöffnet wird und das Problem mit Registerkarten umgangen wird.
Wenn Sie GIT als Quellcodeverwaltungssystem anstelle des (ziemlich veralteten) TFVC verwenden, verfügt Visual Studio nicht über Optionen zum Konfigurieren solcher Elemente .
Stattdessen verwendet es (meiner Meinung nach zu Recht) die Einstellung der GIT-Konfigurationsdatei . Wenn Sie also bereits ein GIT-Setup für die Verwendung von Beyond Compare oder einer anderen Vergleichssoftware von Drittanbietern haben, wird es dies einfach aufgreifen und verwenden.
Wenn nicht, richten Sie das einfach ein (siehe hier für weitere und wahrscheinlich aktuellere Hilfe). Die relevanten Informationen zum Einrichten von Visual Studio mit Beyond Compare 4 lauten:
%HOMEDRIVE%%HOMEPATH%/.gitconfig
. Weitere Informationen finden Sie hier. Wenn Sie möchten, dass sie repospezifisch ist, bearbeiten Sie die Konfigurationsdatei nach dem Starten eines Projekts in einem Git-Repository im Ordner .git im .git Projektordner.Ändern Sie die Konfigurationsdatei, um die folgenden Änderungen widerzuspiegeln:
[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\"
Wenn das 64-Bit-Installationsprogramm verwendet wird, überprüfen Sie den Namen der ausführbaren Datei. Meins war 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\"
Probleme: Wenn Sie ein neues Projekt anlegen und erhalten VS die git Repo zur gleichen Zeit zu schaffen , es WILL eine Last von Überschreibungen auf die Add - .git/config
Datei zwingt sie Visual Studio erneut zu verwenden (Vielen Dank für das MS!). Erstellen Sie das Git-Repo entweder auf andere Weise, nachdem das Projekt eingerichtet wurde (z. B. über SourceTree oder die Befehlszeile usw.), oder bearbeiten Sie die .git/config
Datei (im Lösungsordner) und entfernen Sie alle Überschreibungen für die obigen Einstellungen.
Vielen Dank an Minnow in den Kommentaren, die mich wieder darauf aufmerksam gemacht haben.
Hinweis: Ich stoße immer wieder darauf, aber ich verwende VS mit GIT und die Antworten sind nicht korrekt. Obwohl in einigen Kommentaren eine URL mit der richtigen Antwort erwähnt wird, ist dies nicht klar. Wenn ich sie immer wieder vermisse, bin ich sicher, dass andere dies tun werden hoffentlich wird dies das Problem lösen.
\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
Wenn Sie das TFS verwenden, finden Sie weitere Informationen in der Diff / Merge-Konfiguration in Team Foundation - Allgemeine Befehls- und Argumentwerte
Es zeigt, wie die folgenden Tools konfiguriert werden:
Es hat mich gelangweilt, dies alle 6 Monate zu tun, wenn eine neue Version von Visual Studio herauskommt, ich PCs bewege oder ein neues Mitglied dem Team beitritt. Also, 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'}
}
Funktioniert auf meiner Maschine. YMMV. Keine Garantien, keine Rückerstattung. VS scheint den Schlüssel nicht zwischenzuspeichern, wird also sofort wirksam.
computer\hkey_local_machine\scooter software\beyond compare\exepath
.
Wechseln Sie in Visual Studio 2008 + zu
Tools menu --> select Options
Im Optionsfenster -> Quellcodeverwaltung erweitern -> Subversion-Anwenderprogramme auswählen -> Über Vergleichen hinaus auswählen
und klicken Sie auf OK.
Die von @schellack veröffentlichte Antwort ist für die meisten Szenarien perfekt, aber ich wollte, dass Beyond Compare die Ansicht "2-Wege-Zusammenführung mit einem Ergebnisfenster" simuliert, die Visual Studio in einem eigenen Zusammenführungsfenster verwendet.
Diese Konfiguration verbirgt das mittlere Bedienfeld (das in den meisten Fällen nicht von AFAIK verwendet wird).
%1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
Mit Dank an Morgen
Für VS2013 unter 64-Bit-Windows 7 sind folgende Einstellungen erforderlich: Extras | Optionen | Quellcodeverwaltung | Jazz Source Control
CHECKBOX PRÜFEN Verwenden Sie ein externes Vergleichstool ... (leicht zu übersehen)
2-Wege-Vergleichsspeicherort der ausführbaren Datei: C: \ Programme (x86) \ Beyond Compare 3 \ BCompare.exe
3-Wege-Konfliktvergleich Speicherort der ausführbaren Datei: C: \ Programme (x86) \ Beyond Compare 3 \ BCompare.exe
BComp.exe funktioniert auch in Szenarien mit mehreren Registerkarten, sodass / solo nicht hinzugefügt werden muss, es sei denn, Sie möchten wirklich separate Fenster für jeden Dateivergleich. Getestet / verifiziert auf Beyond Compare 3 und 4. Moral: Verwenden Sie BComp.exe, nicht BCompare.exe, für die Konfiguration des externen VS-Vergleichstools.
Ich verwende VS 2017 mit Projekten, die mit Git auf visualstudio.com gehostet werden. Hosting (msdn)
Der obige Link funktionierte für mich mit den Anweisungen "GITHUB FOR WINDOWS".
http://www.scootersoftware.com/support.php?zz=kb_vcs#githubwindows
Die Konfigurationsdatei befand sich dort, wo sie unter "c: \ users \ username \ .gitconfig" angegeben war, und ich habe gerade die BC4s für meine Situation in BC3s geändert und den entsprechenden Pfad verwendet:
C: / Programme (x86) / Beyond Compare 3 / bcomp.exe
Ich verwende BC3 für mein Git Diff, aber ich würde auch vscode zur Liste der nützlichen Git Diff-Tools hinzufügen . Einige Nutzer bevorzugen vscode über vs ide Erfahrung.
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"