Vorrei configurare Visual Studio per aprire Beyond Compare per impostazione predefinita come strumento diff. Come posso fare questo?
Vorrei configurare Visual Studio per aprire Beyond Compare per impostazione predefinita come strumento diff. Come posso fare questo?
Risposte:
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 .
Fai clic sul pulsante Aggiungi .
Immettere / selezionare le seguenti opzioni per Confronta:
.*
Compare
C:\Program Files\Beyond Compare 3\BComp.exe
(sostituisci con il percorso corretto per il tuo computer, incluso il numero di versione)%1 %2 /title1=%6 /title2=%7
Se si utilizza Beyond Compare Professional (unione a 3 vie):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(sostituisci con il percorso corretto per il tuo computer, incluso il numero di versione)%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):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(sostituisci con il percorso corretto per il tuo computer, incluso il numero di versione)%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 /solo
alla fine degli argomenti; questo assicura che ogni confronto si apra in una nuova finestra, aggirando il problema con le schede.
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:
%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.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/config
file 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/config
file (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.
\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
Se si utilizza TFS, è possibile trovare ulteriori informazioni nella configurazione diff / merge in Team Foundation: valori di comandi e argomenti comuni
Mostra come configurare i seguenti strumenti:
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.
computer\hkey_local_machine\scooter software\beyond compare\exepath
.
In Visual Studio 2008 +, vai a
Tools menu --> select Options
Nella finestra Opzioni -> espandi Controllo sorgente -> Seleziona strumenti utente Subversion -> Seleziona oltre il confronto
e fai clic sul pulsante OK ..
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
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
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.
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
Uso BC3 per il mio git diff, ma aggiungerei anche vscode all'elenco di utili strumenti git diff . Alcuni utenti preferiscono vscode rispetto a ide all'esperienza .
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"