Visual studio 如何配置VisualStudio以使用Beyond Compare

Visual studio 如何配置VisualStudio以使用Beyond Compare,visual-studio,beyondcompare,Visual Studio,Beyondcompare,我想将VisualStudio配置为默认情况下作为diff工具打开Beyond Compare。如何在VisualStudio中执行此操作?,转到“工具”菜单,选择“选项”,展开“源代码管理”,(在TFS环境中,单击VisualStudioTeam Foundation Server),然后单击“配置用户工具”按钮。 单击添加按钮 输入/选择以下选项进行比较: 扩展名:* 操作:比较 命令:C:\Program Files\Beyond Compare 3\BComp.exe(替换为您计算机

我想将VisualStudio配置为默认情况下作为diff工具打开Beyond Compare。如何在VisualStudio中执行此操作?

,转到“工具”菜单,选择“选项”,展开“源代码管理”,(在TFS环境中,单击VisualStudioTeam Foundation Server),然后单击“配置用户工具”按钮。

单击添加按钮

输入/选择以下选项进行比较:

  • 扩展名:
    *
  • 操作:
    比较
  • 命令:
    C:\Program Files\Beyond Compare 3\BComp.exe
    (替换为您计算机的正确路径,包括版本号)
  • 参数:
    %1%2/title1=%6/title2=%7
如果使用Beyond Compare Professional(三方合并):

  • 扩展名:
    *
  • 操作:
    Merge
  • 命令:
    C:\Program Files\Beyond Compare 3\BComp.exe
    (替换为您计算机的正确路径,包括版本号)
  • 参数:
    %1%2%3%4/title1=%6/title2=%7/title3=%8/title4=%9
如果使用Beyond Compare v3/v4标准或Beyond Compare v2(双向合并):

  • 扩展名:
    *
  • 操作:
    Merge
  • 命令:
    C:\Program Files\Beyond Compare 3\BComp.exe
    (替换为您计算机的正确路径,包括版本号)
  • 参数:
    %1%2/savetarget=%4/title1=%6/title2=%7
如果您在Beyond Compare中使用制表符


如果您在选项卡模式下运行Beyond Compare,那么当您从VisualStudio一次区分或合并多个文件集时,可能会感到困惑。要解决此问题,可以将参数
/solo
添加到参数的末尾;这样可以确保每次比较都在一个新窗口中打开,并使用选项卡解决问题。

如果您正在使用TFS,您可以在中找到更多信息

它显示了如何配置以下工具:

  • 温迪夫
  • DiffDoc(用于Word文件)
  • 温梅尔格
  • 无与伦比
  • KDiff3
  • 阿拉西斯
  • 比较一下
  • SourceGear DiffMerge
  • 无可比拟3
  • 乌龟
  • 视觉平滑编辑

在Visual Studio 2008+中,转到

在选项窗口-->展开源代码管理-->选择Subversion用户 工具-->选择不可比较


然后单击“确定”按钮。

当新版本的Visual Studio问世,或者我移动PC,或者有新成员加入团队时,我厌倦了每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'}
}

在我的机器上工作。YMMV。不保修,不退款。VS不会缓存密钥,因此会立即生效。

64位Windows 7上的VS2013需要以下设置: 工具|选项|源代码管理| Jazz源代码管理

选中复选框使用外部比较工具。。。(容易错过)

双向比较 可执行文件的位置:C:\Program Files(x86)\Beyond Compare 3\BCompare.exe

三方冲突比较 可执行文件的位置:C:\Program Files(x86)\Beyond Compare.exe

Visual Studio与Git for Windows 如果您使用的是您的而不是(相当过时的),则Visual Studio没有选项来配置类似的内容。
相反,它(在我看来是正确的)使用了。因此,如果您已经有GIT设置,可以使用Beyond Compare或任何其他第三方比较软件,那么它只需拿起它并开始使用它

如果没有,那么就设置它(请参阅以获取更多可能更为最新的帮助)。使用Beyond Compare 4设置Visual Studio的相关信息如下:

  • 打开VisualStudio
  • 从“工具”菜单中选择“选项”
  • 选择左侧树控件的源代码管理分支下的插件设置
  • 在右侧窗格的插件设置下选择Microsoft Git Provider
  • 编辑全局git配置文件(位置特定于windows的操作系统,它是
    %HOMEDRIVE%%HOMEPATH%/.gitconfig
    。有关信息,请参阅),或者如果您希望它是repo-specific的,则在git存储库中启动项目后,编辑项目文件夹中.git文件夹中的配置文件
  • 更改配置文件以反映以下更改:

    [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\" 
    
  • 如果使用64位安装程序,请验证可执行文件的名称。矿 是BCompare.exe吗

    问题:如果您创建了一个新项目,并让VS在 同时,它将向
    .git/config
    文件添加覆盖负载 强迫它再次使用VisualStudio(谢谢你的支持!)。 因此,要么在项目设置完成后通过其他方式创建git回购协议 (如通过SourceTree或命令行等)或编辑
    .git/config
    文件 (在解决方案文件夹中)并删除上述设置的任何覆盖。
    感谢评论中的minnow再次引起我的注意

    注意:我经常遇到这种情况,但我使用的是VS和GIT以及 答案不正确,尽管有些评论提到了URL 有了正确的答案,就不清楚了,如果我一直漏掉,我会后悔的 当然,其他人也会,希望这能解决这个问题


    BComp.exe也适用于多选项卡场景,因此不需要添加/solo,除非您确实希望为每个文件比较使用单独的窗口。在超越比较3和4上测试/验证。寓意:对于VS外部比较工具配置,请使用BComp.exe,而不是BCompare.exe。

    我将VS 2017用于visualstudio.com托管(msdn)上使用Git托管的项目

    上面的链接适用于我的“GITHUB for WINDOWS”说明

    配置文件位于“c:\users\username\.gitconfig”处,我只是根据自己的情况将BC4更改为BC3,并使用了适当的路径:

    C:/程序文件(x8)
    [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\" 
    
    [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\"
    
     %1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
    
    git config --global diff.tool vscode
    git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"