Gostaria de configurar o Visual Studio para abrir o Beyond Compare por padrão como a ferramenta diff. Como posso fazer isso?
Gostaria de configurar o Visual Studio para abrir o Beyond Compare por padrão como a ferramenta diff. Como posso fazer isso?
Respostas:
No Visual Studio, vá para o menu Ferramentas , selecione Opções , expanda Controle de Origem , (em um ambiente TFS, clique em Visual Studio Team Foundation Server) e clique no botão Configurar Ferramentas do Usuário .
Clique no botão Adicionar .
Digite / selecione as seguintes opções para Comparar:
.*
Compare
C:\Program Files\Beyond Compare 3\BComp.exe
(substitua pelo caminho apropriado para sua máquina, incluindo o número da versão)%1 %2 /title1=%6 /title2=%7
Se você estiver usando o Beyond Compare Professional (mesclagem de 3 vias):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(substitua pelo caminho apropriado para sua máquina, incluindo o número da versão)%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9
Se você usar o Beyond Compare v3 / v4 Standard ou Beyond Compare v2 (mesclagem bidirecional):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(substitua pelo caminho apropriado para sua máquina, incluindo o número da versão)%1 %2 /savetarget=%4 /title1=%6 /title2=%7
Se você usar as guias no Beyond Compare
Se você executar o Beyond Compare no modo com guias, ele poderá ficar confuso quando você diferenciar ou mesclar mais de um conjunto de arquivos por vez no Visual Studio. Para corrigir isso, você pode adicionar o argumento /solo
ao final dos argumentos; isso garante que cada comparação seja aberta em uma nova janela, contornando o problema com guias.
Se você estiver usando o GIT como seu sistema de gerenciamento de código-fonte em vez do (bastante datado) TFVC , o Visual Studio não terá opções para configurar algo assim.
Em vez disso, (justamente na minha opinião) usa a configuração do arquivo de configuração do GIT . Portanto, se você já possui a configuração do GIT para usar o Beyond Compare ou qualquer outro software de comparação de terceiros, ele simplesmente pega isso e começa a usá-lo.
Caso contrário, basta configurá-lo (consulte aqui para obter mais e provavelmente mais ajuda atualizada). As informações relevantes para a configuração do Visual Studio com o Beyond Compare 4 são:
%HOMEDRIVE%%HOMEPATH%/.gitconfig
. Veja aqui para obter informações) OU se você deseja que ele seja específico do repositório, depois de iniciar um projeto em um repositório Git, edite o arquivo de configuração na pasta .git na pasta pasta de projeto.Altere o arquivo de configuração para refletir as seguintes alterações:
[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 o instalador de 64 bits for usado, verifique o nome do executável. O meu 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\"
Questões: Se você criar um novo projeto e obter VS para criar o repositório git, ao mesmo tempo que vai adicionar uma carga de substituições para o .git/config
arquivo forçando-o a usar o Visual Studio novamente (Obrigado por isso MS!). Portanto, crie o repositório git por outro meio após a instalação do projeto (como via SourceTree ou pela linha de comando etc ...) OU edite o .git/config
arquivo (na pasta da solução) e remova quaisquer substituições das configurações acima.
Obrigado ao minnow nos comentários por trazer minha atenção para ele novamente.
Nota: Eu continuo me deparando com isso, mas estou usando o VS com GIT e as respostas não estão corretas. Embora alguns dos comentários mencionem um URL com a resposta correta, não está claro e, se eu o perdi, tenho certeza de que outros o farão. espero que isso resolva esse problema.
\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
Se você estiver usando o TFS, poderá encontrar mais informações na configuração diff / merge no Team Foundation - valores comuns de comando e argumento
Ele mostra como configurar as seguintes ferramentas:
Eu me cansei de fazer isso a cada 6 meses quando uma nova versão do Visual Studio é lançada, ou movo PCs, ou um novo membro se junta à equipe. Então, 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'}
}
Funciona na minha máquina. YMMV. Nenhuma garantia, nenhum reembolso. O VS não parece armazenar em cache a chave, portanto entra em vigor imediatamente.
computer\hkey_local_machine\scooter software\beyond compare\exepath
.
No Visual Studio 2008 +, vá para o
Tools menu --> select Options
Na janela Opções -> expanda Controle de origem -> selecione Ferramentas do usuário do Subversion -> selecione além da comparação
e clique no botão OK ..
A resposta postada por @schellack é perfeita para a maioria dos cenários, mas eu queria que o Beyond Compare simulasse a exibição 'Mesclagem de 2 vias com um painel de resultados' que o Visual Studio usa em sua própria janela de mesclagem.
Essa configuração oculta o painel do meio (que na maioria dos casos não é usado no AFAIK).
%1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
Com agradecimentos a Morgen
O VS2013 no Windows 7 de 64 bits requer estas configurações: Ferramentas | Opções | Controle de origem | Jazz Source Control
VERIFIQUE A CAIXA DE VERIFICAÇÃO Use uma ferramenta de comparação externa ... (fácil de perder)
Local do executável de comparação bidirecional: C: \ Arquivos de Programas (x86) \ Beyond Compare 3 \ BCompare.exe
Local da comparação do executável: C: \ Arquivos de programas (x86) \ Beyond Compare 3 \ BCompare.exe
O BComp.exe também funciona em cenários com várias guias, portanto, não há necessidade de adicionar / solo, a menos que você queira realmente janelas separadas para cada comparação de arquivo. Testado / verificado no Beyond Compare 3 e 4. Moral: use BComp.exe, não BCompare.exe, para a configuração externa da ferramenta de comparação do VS.
Estou usando o VS 2017 com projetos hospedados com Git na hospedagem visualstudio.com (msdn)
O link acima funcionou para mim com as instruções "GITHUB FOR WINDOWS".
http://www.scootersoftware.com/support.php?zz=kb_vcs#githubwindows
O arquivo de configuração foi localizado onde indicado em "c: \ users \ username \ .gitconfig" e eu apenas alterei os BC4 para BC3 para minha situação e usei o caminho apropriado:
C: / Arquivos de Programa (x86) / Além da Comparação 3 / bcomp.exe
Eu uso o BC3 para o meu diff git, mas também adiciono vscode à lista de ferramentas úteis do git diff . Alguns usuários preferem vscode sobre vs ide experiência.
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"