Me gustaría configurar Visual Studio para abrir Beyond Compare de forma predeterminada como la herramienta diff. ¿Cómo puedo hacer esto?
Me gustaría configurar Visual Studio para abrir Beyond Compare de forma predeterminada como la herramienta diff. ¿Cómo puedo hacer esto?
Respuestas:
En Visual Studio, vaya al menú Herramientas , seleccione Opciones , expanda Control de origen (en un entorno TFS, haga clic en Visual Studio Team Foundation Server) y haga clic en el botón Configurar herramientas de usuario .
Haz clic en el botón Agregar .
Ingrese / seleccione las siguientes opciones para Comparar:
.*
Compare
C:\Program Files\Beyond Compare 3\BComp.exe
(reemplace con la ruta adecuada para su máquina, incluido el número de versión)%1 %2 /title1=%6 /title2=%7
Si usa Beyond Compare Professional (combinación de 3 vías):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(reemplace con la ruta adecuada para su máquina, incluido el número de versión)%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9
Si usa Beyond Compare v3 / v4 Standard o Beyond Compare v2 (combinación de 2 vías):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(reemplace con la ruta adecuada para su máquina, incluido el número de versión)%1 %2 /savetarget=%4 /title1=%6 /title2=%7
Si usa pestañas en Beyond Compare
Si ejecuta Beyond Compare en modo de pestañas, puede confundirse cuando difunde o combina más de un conjunto de archivos a la vez desde Visual Studio. Para solucionar esto, puede agregar el argumento /solo
al final de los argumentos; esto asegura que cada comparación se abra en una nueva ventana, solucionando el problema con pestañas.
Si está utilizando GIT como su sistema de administración de código fuente en lugar del TFVC (bastante anticuado), entonces Visual Studio no tiene opciones para configurar algo como esto.
En cambio, (correctamente en mi opinión) utiliza la configuración del archivo de configuración GIT . Entonces, si ya tiene la configuración GIT para usar Beyond Compare o cualquier otro software de comparación de terceros, simplemente lo recogerá y comenzará a usarlo.
Si no es así, simplemente configúrelo (consulte aquí para obtener más ayuda y probablemente más actualizada). La información relevante para configurar Visual Studio con Beyond Compare 4 es:
%HOMEDRIVE%%HOMEPATH%/.gitconfig
. Consulte aquí para obtener información) O si desea que sea específico de repositorio y luego de comenzar un proyecto en un repositorio de Git, edite el archivo de configuración en la carpeta .git en el carpeta de proyecto.Cambie el archivo de configuración para reflejar los siguientes cambios:
[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\"
Si se utiliza el instalador de 64 bits, verifique el nombre del ejecutable. El mío fue 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\"
Problemas: Si crea un nuevo proyecto y obtener VS para crear el repositorio git, al mismo tiempo que se SERÁ añadir una carga de anulaciones al .git/config
archivo obligándolo a utilizar Visual Studio de nuevo (gracias por eso EM!). Entonces, cree el repositorio de git por otros medios después de que el proyecto se haya configurado (como a través de SourceTree o la línea de comando, etc.) O edite el .git/config
archivo (en la carpeta de la solución) y elimine cualquier anulación de la configuración anterior.
Gracias a minnow en los comentarios por llamar mi atención nuevamente.
Nota: sigo encontrando esto, pero estoy usando VS con GIT y las respuestas no son correctas y, aunque algunos de los comentarios mencionan una URL con la respuesta correcta, no está clara y si seguí perdiéndola, estoy seguro de que otros lo harán. Esperemos que esto resuelva ese problema.
\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
Si está utilizando el TFS, puede encontrar más información en la configuración de diferencias / fusión en Team Foundation: valores comunes de comando y argumento
Muestra cómo configurar las siguientes herramientas:
Me aburrí de hacer esto cada 6 meses cuando sale una nueva versión de Visual Studio, o muevo PC, o un nuevo miembro se une al equipo. Entonces, 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 en mi maquina. YMMV. Sin garantías, sin reembolsos. VS no parece almacenar en caché la clave, por lo que surte efecto de inmediato.
computer\hkey_local_machine\scooter software\beyond compare\exepath
.
En Visual Studio 2008 +, vaya a
Tools menu --> select Options
En la ventana Opciones -> expanda Control de fuente -> Seleccionar herramientas de usuario de Subversion -> Seleccionar más allá de comparar
y haga clic en el botón Aceptar.
La respuesta publicada por @schellack es perfecta para la mayoría de los escenarios, pero quería que Beyond Compare simule la vista 'Combinación de 2 vías con un panel de resultados' que Visual Studio utiliza en su propia ventana de fusión.
Esta configuración oculta el panel central (que no se usa en la mayoría de los casos AFAIK).
%1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
Con gracias a Morgen
VS2013 en Windows 7 de 64 bits requiere esta configuración: Herramientas | Opciones | Control de fuente | Control de fuente de jazz
COMPRUEBE EL CUADRO DE COMPROBACIÓN Use una herramienta de comparación externa ... (fácil de perder)
Ubicación de comparación bidireccional del ejecutable: C: \ Archivos de programa (x86) \ Beyond Compare 3 \ BCompare.exe
Ubicación de comparación de conflictos de 3 vías del ejecutable: C: \ Archivos de programa (x86) \ Beyond Compare 3 \ BCompare.exe
BComp.exe también funciona en un escenario de múltiples pestañas, por lo que no es necesario agregar / solo a menos que realmente desee ventanas separadas para cada comparación de archivos. Probado / verificado en Beyond Compare 3 y 4. Moraleja: use BComp.exe, no BCompare.exe, para la configuración de la herramienta de comparación externa VS.
Estoy usando VS 2017 con proyectos alojados con Git en el alojamiento visualstudio.com (msdn)
El enlace de arriba me funcionó con las instrucciones de "GITHUB PARA WINDOWS".
http://www.scootersoftware.com/support.php?zz=kb_vcs#githubwindows
El archivo de configuración se encuentra donde se indica en "c: \ users \ username \ .gitconfig" y acabo de cambiar los BC4 a BC3 para mi situación y utilicé la ruta adecuada:
C: / Archivos de programa (x86) / Beyond Compare 3 / bcomp.exe
Uso BC3 para mi git diff, pero también agregaría vscode a la lista de herramientas útiles de git diff . Algunos usuarios prefieren vscode sobre vs ide experiencia .
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"