如何configurationVisual Studio以使用Beyond Compare
我想configurationVisual Studio以打开Beyond Compare作为diff工具。 我该怎么做?
在Visual Studio中,转至工具菜单,select选项 ,展开源代码pipe理 ,(在TFS环境中,单击Visual Studio Team Foundation Server),然后单击configuration用户工具button。
点击添加button。
input/select以下选项进行比较:
- 扩展名 :
.*
- 操作 :
Compare
- 命令 :
C:\Program Files\Beyond Compare 3\BComp.exe
(replace为您的机器的正确path,包括版本号) - 参数 :
%1 %2 /title1=%6 /title2=%7
如果使用Beyond Compare Professional(3-way Merge):
- 扩展名 :
.*
- 操作 :
Merge
- 命令 :
C:\Program Files\Beyond Compare 3\BComp.exe
(replace为您的机器的正确path,包括版本号) - 参数 :
%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9
如果使用Beyond Compare v3 / v4 Standard或Beyond Compare v2(2-way Merge):
- 扩展名 :
.*
- 操作 :
Merge
- 命令 :
C:\Program Files\Beyond Compare 3\BComp.exe
(replace为您的机器的正确path,包括版本号) - 参数 :
%1 %2 /savetarget=%4 /title1=%6 /title2=%7
如果您在超越比较中使用选项卡
如果在标签模式下运行“超越比较”,当您从Visual Studio中每次比较或合并多个文件时,可能会感到困惑。 为了解决这个问题,你可以将参数/solo
添加到参数的末尾; 这可确保每个比较都在新窗口中打开,并通过制表符来解决问题。
Visual Studio与Git的Windows
如果您使用GIT作为您的源代码pipe理系统而不是(相当过时的) TFVC,那么Visual Studio没有configuration类似这样的选项。
相反它(在我看来)使用GITconfiguration文件的设置 。 所以如果你已经有GIT设置使用Beyond Compare或者任何其他的第三方比较软件,它只会select它并开始使用它。
如果没有,那就把它设置好(参见这里,以获得更多的帮助)。 使用Beyond Compare 4设置Visual Studio的相关信息是:
- 打开Visual Studio。
- 从工具菜单中select选项。
- 在左侧树形控件的Source Control分支下selectPlug-In Settings。
- 在右侧窗格的“插件设置”下select“Microsoft Git Provider”。
- 编辑全局的gitconfiguration文件(该位置是操作系统特定的窗口它是
%HOMEDRIVE%%HOMEPATH%/.gitconfig
。请参阅这里的信息)或者如果你想它是特定的回购然后在Git仓库中启动项目后,编辑在项目文件夹的.git文件夹中的configuration文件。 - 更改configuration文件以反映以下更改:
[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\"
注意:我一直在遇到这个问题,但我使用VS和GIT,答案是不正确的,尽pipe一些评论提到了一个正确答案的URL,但是不清楚,如果我一直想念它,我相信别人会这样希望这将解决这个问题。
如果您正在使用TFS,可以在Team Foundation中的差异/合并configuration中find更多信息- 常见的命令和参数值
它显示了如何configuration以下工具:
- WinDiff的
- DiffDoc(用于Word文件)
- 的WinMerge
- 超越比较
- KDiff3
- Araxis
- 比较一下!
- SourceGear DiffMerge
- 超越比较3
- 如果TortoiseMerge
- Visual SlickEdit
当新版本的Visual Studio发布,或者我移动个人电脑,或者一个新成员join团队,我每隔6个月就会感到无聊。 那么,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'} }
在我的机器上工作。 因人而异。 没有保证,不退款。 VS没有出现caching键,所以立即生效。
在Visual Studio 2008 +中,转到
Tools menu --> select Options
在选项窗口 – >展开源代码pipe理 – >selectSubversion用户工具 – >select超越比较
并单击确定button..
在64位Windows 7上的VS2013需要这些设置:工具| 选项| 源代码pipe理| 爵士音源控制
检查CHECKBOX使用外部比较工具…(很容易错过)
2-Way比较可执行文件的位置:C:\ Program Files(x86)\ Beyond Compare 3 \ BCompare.exe
可执行文件的三向冲突比较位置:C:\ Program Files(x86)\ Beyond Compare 3 \ BCompare.exe
BComp.exe也适用于多标签场景,所以除非你真的想为每个文件比较单独的窗口,否则不需要添加/独奏。 testing/validation超越比较3和4.道德:使用BComp.exe,而不是BCompare.exe,VS外部比较工具configuration。
我使用VS 2017与visualstudio.com托pipe与Git项目托pipe(MSDN)
上面的链接用“GITHUB FOR WINDOWS”指令为我工作。
http://www.scootersoftware.com/support.php?zz=kb_vcs#githubwindows
configuration文件位于“c:\ users \ username.gitconfig”所示的位置,我只是将BC4的更改为BC3的位置,并使用了相应的path:
C:/ Program Files(x86)/ Beyond Compare 3 / bcomp.exe
@schellack发布的答案对于大多数场景来说是完美的,但是我希望Beyond Compare能够模拟Visual Studio在自己的合并窗口中使用的“2 Way合并结果面板”视图。
这个configuration隐藏了中间面板(在大多数情况下AFAIK未使用)。
%1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
感谢Morgen