30

所以,我不知道是否有人注意到了,但是与 VS2012 一起打包的新合并工具是最大的病态。我最近转移到 Git 进行源代码控制,并且真的希望能够将 VS2012 设置为我的默认 difftool/mergetool。

关于如何做到这一点的任何建议?如果可能的话,我宁愿在活动的 VS2012 窗口中启动差异/合并,而不是新实例。

4

4 回答 4

77

本文介绍了如何执行此操作。我试过了,它有效。在我的使用中,差异是在任何现有的 Visual Studio 实例中打开的,这是您喜欢的。

[diff]
    tool = vsdiffmerge
[difftool]
      prompt = false
[difftool "vsdiffmerge"]
      cmd = '"C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/vsdiffmerge.exe"' "$LOCAL" "$REMOTE" //t
      keepbackup = false
      trustexitcode = true
[merge]
      tool = vsdiffmerge
[mergetool]
      prompt = false
[mergetool "vsdiffmerge"]
      cmd = '"C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/vsdiffmerge.exe"' "$REMOTE" "$LOCAL" "$BASE" "$MERGED" //m
      keepbackup = false
      trustexitcode = true

或用于%VSINSTALLDIR%始终引用与您打开的命令行匹配的 Visual Studio 版本(这仅在设置 Visual Studio 环境时有效,可以使用 Visual Studio 命令提示符快捷方式或手动调用vsvars32.bat):

[diff]
    tool = vsdiffmerge
[difftool]
      prompt = false
[difftool "vsdiffmerge"]
      cmd = '"%VSINSTALLDIR%Common7/IDE/vsdiffmerge.exe"' "$LOCAL" "$REMOTE" //t
      keepbackup = false
      trustexitcode = true
[merge]
      tool = vsdiffmerge
[mergetool]
      prompt = false
[mergetool "vsdiffmerge"]
      cmd = '"%VSINSTALLDIR%Common7/IDE/vsdiffmerge.exe"' "$LOCAL" "$REMOTE" "$BASE" "$MERGED" //m
      keepbackup = false
      trustexitcode = true
于 2013-08-08T18:54:01.807 回答
13

如果您将Git Source Control Provider与 Visual Studio 一起使用,则该功能似乎已实现并且从 1.0.0 版开始可用。

或者,如果您开始使用Microsoft 的 git 工具,那也将使用内置的 diff 工具。从一些截图来看,它看起来像是 2-way 合并,结果在底部。

于 2012-10-01T17:30:25.877 回答
1

标记为已回答的解决方案对我不起作用,但确实如此(我的路径中有 vsdiffmerge.exe 位置 - 不知道它是否与它有任何关系):

[diff]
    tool = vsdiffmerge
    guitool = vsdiffmerge
[difftool]
    prompt = true
[difftool "vsdiffmerge"]
    cmd = $LOCAL $REMOTE /t
    keepbackup = false
    trustexistcode = true
    path = C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/vsDiffMerge.exe
[merge]
    tool = vsdiffmerge
[mergetool]
    prompt = false
[mergetool "vsdiffmerge"]
    cmd = $REMOTE $LOCAL $BASE $MERGED /m
    keepbackup = false
    trustexitcode = true
    path = C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/vsDiffMerge.exe
于 2016-03-07T13:26:03.537 回答
0

在 Visual Studio 2019 中,您只需转到工具-> 源代码管理-> Git 全局设置-> 工具部分,然后为 Diff 工具、合并工具或两者都选择“使用 Visual Studio”即可轻松完成此操作

于 2020-12-16T11:37:24.460 回答