Come configurare Visual Studio per usare Beyond Compare


Risposte:


561

In Visual Studio, vai al menu Strumenti , seleziona Opzioni , espandi Controllo del codice sorgente (in un ambiente TFS, fai clic su Visual Studio Team Foundation Server) e fai clic sul pulsante Configura strumenti utente .

immagine per mostrare la posizione del pulsante Configura strumenti utente

Fai clic sul pulsante Aggiungi .

Immettere / selezionare le seguenti opzioni per Confronta:

  • Estensione :.*
  • Operazione :Compare
  • Comando :C:\Program Files\Beyond Compare 3\BComp.exe (sostituisci con il percorso corretto per il tuo computer, incluso il numero di versione)
  • Argomenti :%1 %2 /title1=%6 /title2=%7

Se si utilizza Beyond Compare Professional (unione a 3 vie):

  • Estensione :.*
  • Operazione :Merge
  • Comando :C:\Program Files\Beyond Compare 3\BComp.exe (sostituisci con il percorso corretto per il tuo computer, incluso il numero di versione)
  • Argomenti :%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9

Se si utilizza Beyond Compare v3 / v4 Standard o Beyond Compare v2 (unione a 2 vie):

  • Estensione :.*
  • Operazione :Merge
  • Comando :C:\Program Files\Beyond Compare 3\BComp.exe (sostituisci con il percorso corretto per il tuo computer, incluso il numero di versione)
  • Argomenti :%1 %2 /savetarget=%4 /title1=%6 /title2=%7

Se usi le schede in Beyond Compare

Se si esegue Beyond Compare in modalità a schede, può essere confuso quando si differenzia o si uniscono più set di file alla volta da Visual Studio. Per risolvere questo problema, puoi aggiungere l'argomento /soloalla fine degli argomenti; questo assicura che ogni confronto si apra in una nuova finestra, aggirando il problema con le schede.


17
Nota che per Beyond Compare 3 dovresti effettivamente utilizzare BComp.exe - vedi scootersoftware.com/vbulletin/showthread.php?t=3461
Joe

5
Ho aggiornato questa risposta per supportare Beyond Compare v3 Pro / Std e Beyond Compare v2 (la v3 offre una fusione a 3 vie) e gli argomenti aggiornati dal sito Web ufficiale BC: scootersoftware.com/support.php?zz=kb_vcs
Evan Wondrasek

32
Se si esegue Beyond Compare in modalità a schede, può essere confuso quando si differenzia o si uniscono più set di file alla volta da Visual Studio. Per risolvere questo problema, puoi aggiungere l'argomento "/ solo" alla fine degli argomenti; questo assicura che ogni confronto si apra in una nuova finestra, aggirando il problema con le schede.
Josh Sklare,

16
Quando si utilizza il componente aggiuntivo Git per Visual Studio, non è presente alcun pulsante Configura strumenti utente. Qualcuno sa un modo per agganciare il componente aggiuntivo Git da usare oltre ogni confronto?
Stephen Price,

7
L'installazione di Beyond Compare 4 è la stessa di Visual Studio 2013. Per supportare la versione 4, è sufficiente modificare "3" nel percorso COMMAND in "4". È abbastanza ovvio, ma va notato. Ad esempio, sulla mia workstation, il percorso è: C: \ Programmi (x86) \ Beyond Compare 4 \ BCompare.exe
Mike Christian

86

Visual Studio con Git per Windows

Se stai usando GIT come sistema di gestione del codice sorgente anziché TFVC (abbastanza datato), Visual Studio non ha opzioni per configurare nulla del genere.
Invece (giustamente secondo me) utilizza l' impostazione del file di configurazione GIT . Quindi, se hai già configurato GIT per usare Beyond Compare o qualsiasi altro software di confronto di terze parti, lo prenderà e inizierà a usarlo.

In caso contrario, impostalo (vedi qui per ulteriore e probabilmente più aggiornato aiuto). Le informazioni rilevanti per la configurazione di Visual Studio con Beyond Compare 4 sono:

  1. Apri Visual Studio.
  2. Seleziona Opzioni dal menu Strumenti.
  3. Seleziona Impostazioni plug-in sotto il ramo Controllo sorgente del controllo ad albero sul lato sinistro.
  4. Selezionare Provider Microsoft Git in Impostazioni plug-in nel riquadro di destra.
  5. Modifica il file di configurazione globale di git (la posizione è specifica del sistema operativo per Windows %HOMEDRIVE%%HOMEPATH%/.gitconfig. Vedi qui per informazioni) O se vuoi che sia specifico per il repository, dopo aver avviato un progetto in un repository Git, modifica il file di configurazione nella cartella .git nella cartella del progetto.
  6. Modificare il file di configurazione per riflettere le seguenti modifiche:

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

Se viene utilizzato il programma di installazione a 64 bit, verificare il nome dell'eseguibile. Il mio era 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\"

Problemi: Se si crea un nuovo progetto e ottenere VS per creare il repo git, allo stesso tempo, SARA aggiungere un carico di sostituzioni per il .git/configfile di costringendolo a utilizzare di nuovo Visual Studio (grazie per questo MS!). Quindi creare il repository git con un altro mezzo dopo che il progetto è stato impostato (come tramite SourceTree o la riga di comando ecc ...) O modificare il .git/configfile (nella cartella della soluzione) e rimuovere eventuali sostituzioni per le impostazioni di cui sopra.
Grazie a pesciolini nei commenti per avermi richiamato la mia attenzione.

Nota: continuo a imbattermi in questo, ma sto usando VS con GIT e le risposte non sono corrette e anche se alcuni dei commenti menzionano un URL con la risposta corretta non è chiaro e se continuo a mancarlo sono sicuro che altri lo faranno speriamo che questo risolva questo problema.


Molto utile, poiché sto usando Git per Windows.
MrBoJangles,

2
Attenzione però: VS 2015, per me, si è impostato come strumento diff / merge nel file di configurazione git locale nel repository locale .... sovrascrivendo così il globale. Basta rimuovere le voci nella configurazione del repository locale e dovresti essere bravo.
Giullare

3
Haha ha appena provato a votare questa INCREDIBILE risposta ... poi ha detto "Non puoi votare la tua risposta" ... OH LOL Dio benedica non avere un ricordo! ;)
GazB,

4
BC4 installato in un percorso leggermente diverso, il dir 64b, sulla mia macchina:\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
GraehamF

1
Ho scoperto che l'impostazione della configurazione globale di git non ha funzionato affatto. Ho dovuto modificare la configurazione del repository. VS2017. Qualcun altro sta vivendo lo stesso? E @GazB, sospetto che GraehamF, come me, abbia solo la versione a 64 bit di BC installata su Windows a 64 bit, quindi il percorso installato è il corretto, previsto File di programma e non PF (x86).
pesciolino il


13

Mi sono annoiato di farlo ogni 6 mesi quando esce una nuova versione di Visual Studio, oppure muovo i PC o quando un nuovo membro si unisce al team. Quindi, 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'}
}

Funziona sulla mia macchina. YMMV. Nessuna garanzia, nessun rimborso. VS non sembra memorizzare la chiave nella cache, quindi ha effetto immediato.


1
In questi giorni $ bcPath = 'C: \ Programmi (x86) \ Beyond Compare 4 \ BCompare.exe' per l'ultima versione. Quindi se solo questo fosse combinato con l'installazione cioccolata ... (grazie comunque)
James Woolfenden,

Questo è fantastico Grazie mille per aver pubblicato queste informazioni, ti semplificherà la vita!
d3r3kk,

1
Probabilmente dovrebbe solo aggiornare a leggere la voce del Registro di sistema: computer\hkey_local_machine\scooter software\beyond compare\exepath.
Erik Philips,

8

In Visual Studio 2008 +, vai a

Tools menu -->  select Options 

inserisci qui la descrizione dell'immagine

Nella finestra Opzioni -> espandi Controllo sorgente -> Seleziona strumenti utente Subversion -> Seleziona oltre il confronto

e fai clic sul pulsante OK ..


2
Si noti che i bit "sovversione" di questa risposta sono specifici se si utilizza SVN come provider di controllo del codice sorgente.
piers7,

1
Solo SVN, non si applica a TFS o Git o qualsiasi altro provider SCC
Adam Plocher,

3

La risposta pubblicata da @schellack è perfetta per la maggior parte degli scenari, ma volevo che Beyond Compare simulasse la vista "Unione a 2 vie con un pannello dei risultati" che Visual Studio utilizza nella propria finestra di unione.

Questa configurazione nasconde il pannello centrale (che non viene utilizzato nella maggior parte dei casi AFAIK).

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

Grazie a Morgen


2

VS2013 su Windows 7 a 64 bit richiede queste impostazioni: Strumenti | Opzioni | Controllo del codice sorgente | Jazz Source Control

CONTROLLA IL CHECKBOX Usa uno strumento di confronto esterno ... (facile perdere questo)

Posizione di confronto bidirezionale dell'eseguibile: C: \ Programmi (x86) \ Beyond Compare 3 \ BCompare.exe

Conflitto a 3 vie Confrontare la posizione dell'eseguibile: C: \ Programmi (x86) \ Beyond Compare 3 \ BCompare.exe


2

BComp.exe funziona anche in scenari con più schede, quindi non è necessario aggiungere / solo a meno che non si desideri veramente finestre separate per ogni confronto di file. Testato / verificato su Beyond Compare 3 e 4. Morale: utilizzare BComp.exe, non BCompare.exe, per la configurazione dello strumento di confronto esterno VS.


2

Sto usando VS 2017 con progetti ospitati con Git su visualstudio.com hosting (msdn)

Il link sopra ha funzionato per me con le istruzioni "GITHUB FOR WINDOWS".

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

Il file di configurazione si trovava dove indicato in "c: \ users \ username \ .gitconfig" e ho appena cambiato i BC4 in BC3 per la mia situazione e ho usato il percorso appropriato:

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


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.