Jak skonfigurować Visual Studio do korzystania z Beyond Compare

Odpowiedzi:

561

W Visual Studio przejdź do menu Narzędzia , wybierz Opcje , rozwiń Kontrola źródła , (W środowisku TFS kliknij Visual Studio Team Foundation Server), a następnie kliknij przycisk Konfiguruj narzędzia użytkownika .

obraz pokazujący lokalizację przycisku Konfiguruj narzędzia użytkownika

Kliknij przycisk Dodaj .

Wprowadź / wybierz następujące opcje porównania:

  • Przedłużenie :.*
  • Operacja :Compare
  • Polecenie : C:\Program Files\Beyond Compare 3\BComp.exe(zamień na właściwą ścieżkę dla twojego komputera, w tym numer wersji)
  • Argumenty :%1 %2 /title1=%6 /title2=%7

W przypadku korzystania z Beyond Compare Professional (Scalanie 3-kierunkowe):

  • Przedłużenie :.*
  • Operacja :Merge
  • Polecenie : C:\Program Files\Beyond Compare 3\BComp.exe(zamień na właściwą ścieżkę dla twojego komputera, w tym numer wersji)
  • Argumenty :%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9

Jeśli używasz Beyond Compare v3 / v4 Standard lub Beyond Compare v2 (2-drożne scalanie):

  • Przedłużenie :.*
  • Operacja :Merge
  • Polecenie : C:\Program Files\Beyond Compare 3\BComp.exe(zamień na właściwą ścieżkę dla twojego komputera, w tym numer wersji)
  • Argumenty :%1 %2 /savetarget=%4 /title1=%6 /title2=%7

Jeśli korzystasz z kart w Beyond Compare

Jeśli uruchomisz Beyond Compare w trybie z kartami, może się zdezorientować, gdy różnicujesz lub scalasz więcej niż jeden zestaw plików jednocześnie z Visual Studio. Aby to naprawić, możesz dodać argument /solona końcu argumentów; zapewnia to, że każde porównanie otwiera się w nowym oknie, omijając problem z kartami.

skorupka
źródło
17
Zauważ, że w Beyond Compare 3 powinieneś używać BComp.exe - patrz scootersoftware.com/vbulletin/showthread.php?t=3461
Joe
5
Zaktualizowałem tę odpowiedź, aby obsługiwała zarówno Beyond Compare v3 Pro / Std, jak i Beyond Compare v2 (v3 oferuje scalanie 3-kierunkowe) i zaktualizowałem argumenty z oficjalnej strony BC: scootersoftware.com/support.php?zz=kb_vcs
Evan Wondrasek
32
Jeśli uruchomisz Beyond Compare w trybie z kartami, może się zdezorientować, gdy różnicujesz lub scalasz więcej niż jeden zestaw plików jednocześnie z Visual Studio. Aby to naprawić, możesz dodać argument „/ solo” na końcu argumentów; zapewnia to, że każde porównanie otwiera się w nowym oknie, omijając problem z kartami.
Josh Sklare
16
Podczas korzystania z dodatku Git dla programu Visual Studio nie ma przycisku Konfiguruj narzędzia użytkownika. Czy ktoś wie, jak podpiąć dodatek Git do użycia poza porównywaniem?
Stephen Price
7
Konfiguracja Beyond Compare 4 jest taka sama, jak Visual Studio 2013. Aby obsługiwać wersję 4, po prostu zmień „3” w ścieżce COMMAND na „4”. To dość oczywiste, ale należy zauważyć. Na przykład na mojej stacji roboczej ścieżka jest następująca: C: \ Program Files (x86) \ Beyond Compare 4 \ BCompare.exe
Mike Christian,
86

Visual Studio z Git dla Windows

Jeśli używasz GIT jako systemu zarządzania kodem źródłowym zamiast (dość przestarzałego) TFVC, wówczas Visual Studio nie ma opcji konfiguracji czegoś takiego.
Zamiast tego (słusznie moim zdaniem) używa ustawienia pliku konfiguracyjnego GIT . Więc jeśli masz już konfigurację GIT do korzystania z Beyond Compare lub jakiegokolwiek innego oprogramowania do porównywania innych firm, po prostu to wykryje i zacznie go używać.

Jeśli nie, po prostu skonfiguruj to (zobacz tutaj, aby uzyskać dalszą i prawdopodobnie bardziej aktualną pomoc). Odpowiednie informacje dotyczące konfigurowania programu Visual Studio z Beyond Compare 4 to:

  1. Otwórz Visual Studio.
  2. Wybierz Opcje z menu Narzędzia.
  3. Wybierz Ustawienia wtyczek w gałęzi Kontrola źródła w kontrolce drzewa po lewej stronie.
  4. Wybierz Microsoft Git Provider w Ustawieniach wtyczek w prawym panelu.
  5. Edytuj globalny plik konfiguracyjny git (lokalizacja jest specyficzna dla systemu operacyjnego Windows %HOMEDRIVE%%HOMEPATH%/.gitconfig. Zobacz tutaj, aby uzyskać informacje) LUB jeśli chcesz, aby był to specyfikacja repo, to po uruchomieniu projektu w repozytorium Git edytuj plik konfiguracyjny w folderze .git w folder z projektem.
  6. Zmień plik konfiguracyjny, aby odzwierciedlić następujące zmiany:

    [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\" 
    

Jeśli używany jest instalator 64-bitowy, sprawdź nazwę pliku wykonywalnego. Mój był 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\"

Kwestie: Jeśli tworzysz nowy projekt i uzyskać VS stworzyć repo git w tym samym czasie to BĘDZIE dodać ładunek do nadpisania .git/configpliku zmuszając go ponownie użyć Visual Studio (MS Dzięki za to!). SO albo utwórz repozytorium git innym sposobem po skonfigurowaniu projektu (np. Przez SourceTree lub wiersz poleceń itp.) LUB edytuj .git/configplik (w folderze rozwiązania) i usuń wszelkie przesłonięcia dla powyższych ustawień.
Dzięki minnow w komentarzach za ponowne zwrócenie mojej uwagi na to.

Uwaga: ciągle się z tym spotykam, ale używam VS z GIT, a odpowiedzi są niepoprawne i chociaż niektóre komentarze wspominają adres URL z poprawną odpowiedzią, nie jest jasny, a jeśli nadal będę go brakować, jestem pewien, że inni to zrobią mam nadzieję, że to rozwiąże ten problem.

GazB
źródło
Bardzo pomocne, ponieważ używam Git dla Windows.
MrBoJangles,
2
Ostrożnie - VS 2015 dla mnie ustawił się jako narzędzie porównania / scalania w lokalnym pliku konfiguracyjnym git w lokalnym repozytorium ... zastępując w ten sposób globalny. Wystarczy usunąć wpisy w lokalnej konfiguracji repo i powinieneś być dobry.
Jester
3
Haha właśnie próbował zagłosować na NIESAMOWITE odpowiedzi ... a potem powiedział: „Nie możesz głosować na własną odpowiedź” ... OH LOL Niech Bóg błogosławi nie mając pamięci! ;)
GazB
4
BC4 zainstalowany na nieco innej ścieżce, \"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
katalog
1
Odkryłem, że ustawienie globalnej konfiguracji git w ogóle nie działało. Musiałem zmodyfikować konfigurację repozytorium. VS2017. Ktoś jeszcze doświadcza tego samego? I @GazB, podejrzewam, że GraehamF, podobnie jak ja, ma właśnie 64-bitową wersję BC zainstalowaną w 64-bitowych oknach, więc zainstalowana ścieżka to poprawne, oczekiwane Pliki Programów, a nie PF (x86).
minnow
13

Nudzę się tym, że robię to co 6 miesięcy, kiedy pojawia się nowa wersja Visual Studio, przenoszę komputery lub dołącza nowy członek zespołu. Tak więc 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'}
}

Działa na moim komputerze. YMMV. Bez gwarancji, bez refundacji. VS nie wydaje się buforować klucza, więc działa natychmiast.

mola7
źródło
1
Obecnie jego $ bcPath = 'C: \ Program Files (x86) \ Beyond Compare 4 \ BCompare.exe' dla najnowszej wersji. Więc gdyby tylko to było połączone z instalacją Chocolatey ... (swoją drogą)
James Woolfenden
To jest świetne. Dziękuję bardzo za opublikowanie tych informacji, ułatwi życie!
d3r3kk,
1
Należy prawdopodobnie wystarczy zaktualizować do zapoznania się z wpisu rejestru: computer\hkey_local_machine\scooter software\beyond compare\exepath.
Erik Philips,
8

W Visual Studio 2008 + przejdź do

Tools menu -->  select Options 

wprowadź opis zdjęcia tutaj

W oknie Opcje -> rozwiń Kontrola źródła -> Wybierz Narzędzia użytkownika Subversion -> Wybierz Beyond Compare

i kliknij przycisk OK ..

BJ Patel
źródło
2
Zauważ, że bity „subversion” tej odpowiedzi są specyficzne dla tego, czy używasz SVN jako dostawcy kontroli źródła.
piers7 7
1
Tylko SVN, nie dotyczy TFS, Git ani żadnego innego dostawcy SCC
Adam Plocher
3

Odpowiedź opublikowana przez @schellack jest idealna dla większości scenariuszy, ale chciałem, aby Beyond Compare symulowało widok „Łączenie 2-drogowe z panelem wyników”, którego Visual Studio używa we własnym oknie scalania.

Ta konfiguracja ukrywa środkowy panel (który w większości przypadków nie jest używany AFAIK).

 %1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9

Dzięki dzięki Morgen

Przetrząsać
źródło
2

VS2013 w 64-bitowym systemie Windows 7 wymaga następujących ustawień: Narzędzia | Opcje | Kontrola źródła | Jazz Source Control

SPRAWDŹ PUNKT KONTROLNY Użyj zewnętrznego narzędzia do porównywania ... (łatwo tego przegapić)

2-kierunkowe porównanie lokalizacji pliku wykonywalnego: C: \ Program Files (x86) \ Beyond Compare 3 \ BCompare.exe

3-Way Conflict Compare Lokalizacja pliku wykonywalnego: C: \ Program Files (x86) \ Beyond Compare 3 \ BCompare.exe

Arvind
źródło
2

BComp.exe działa również w scenariuszu z wieloma kartami, więc nie ma potrzeby dodawania / solo, chyba że naprawdę chcesz osobnych okien dla każdego porównania plików. Testowane / zweryfikowane na Beyond Compare 3 i 4. Morał: użyj BComp.exe, a nie BCompare.exe, do konfiguracji zewnętrznego narzędzia VS do porównywania.

Arvind
źródło
2

Używam VS 2017 z projektami hostowanymi z Git na visualstudio.com hosting (msdn)

Powyższy link działał dla mnie z instrukcjami „GITHUB DLA WINDOWS”.

http://www.scootersoftware.com/support.php?zz=kb_vcs#githubwindows

Plik konfiguracyjny znajdował się w miejscu, w którym wskazywał na „c: \ users \ username \ .gitconfig”, a ja właśnie zmieniłem BC4 na BC3 w mojej sytuacji i użyłem odpowiedniej ścieżki:

C: / Program Files (x86) / Beyond Compare 3 / bcomp.exe

chuckc
źródło
1

Używam BC3 do mojego git diff, ale dodam również vscode do listy przydatnych narzędzi git diff . Niektórzy użytkownicy wolą vscode nad vs ide doświadczenia.

Używanie kodu VS dla Git Diff

git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
SliverNinja - MSFT
źródło