25

我使用 Mercurial 进行源代码控制,并使用 SourceTree 来管理它。我想使用 Visual Studio 的内置差异和合并工具 (vsdiffmerge) 来比较文件,但这不起作用。

我目前正在使用以下内容:

差异命令:

\"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\vsdiffmerge.exe\"

差异参数:

\"$LOCAL\" \"$REMOTE\" //t

合并命令:

\"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\vsdiffmerge.exe\"

合并参数:

\"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\" //m

在此处输入图像描述

Visual Studio 差异工具未启动。你能看看吗?

更新:-

   We should use like below:-
   Diff Command: 
   full path of vsDiffMerge.exe
   For VS 2015 and below you can find it in the Visual Studio installation folder, under Common7\IDE subfolder. Visual Studio 2017 has it slightly more hidden. Look under Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer.


   Diff Argument: "$LOCAL" "$REMOTE" "Source" "Target" //t
   Merge Argument: $LOCAL" "$REMOTE" "$BASE" "$MERGED" //m
4

6 回答 6

15

对于 Visual Studio 2019 Enterprise vsDiffMerge.exe,位置为:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe

于 2019-05-31T17:51:08.987 回答
8
  1. 您在命令和参数中有很多无用的(至少)黑斜线
  2. 阅读设置 DiffMerge页面,第二章并修复自己的错误
于 2015-10-06T19:24:04.293 回答
8

对于Visual Studio 2015

将此行放入Diff Command框中:

C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/vsDiffMerge.exe

而这个在参数框中:

$REMOTE $LOCAL $BASE $MERGED //m
于 2016-07-01T10:19:09.417 回答
6

使用 Visual Studio 2015 Update 1 和 SourceTree 1.7.0.32509,这只是对我有用的设置:

C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/vsDiffMerge.exe 
$REMOTE $LOCAL $BASE $MERGED //m
于 2016-01-27T09:46:40.453 回答
2

这是 VS 2019 diff and merge 的完整答案,适用于 Git 和 Mercurial。

差异:

差异命令: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe

论据: $LOCAL $REMOTE //t

合并:

合并命令: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe

论据: $REMOTE $LOCAL $BASE $MERGED //m

如果您有 Enterprise VS 版本,请将路径更改为:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe

具有正确设置的 SoureTree 的 diff/merge 部分的图像。

于 2021-06-02T17:57:25.850 回答
0

遵循此 SO 以获得更多指导 VS 2012 的 TFS 默认合并工具的命令行参数是什么?

还有这些指针 http://roadtoalm.com/2013/10/22/use-visual-studio-as-your-diff-and-merging-tool-for-local-files/

事实是,我也尝试过设置它,但运气不佳。我碰巧使用超越比较。如果您希望它工作,至少要保持在 SourceTree 在外部差异选项下拉列表中提供的选择范围内。没有充分的理由使用他们不支持的任何其他东西。

于 2015-10-06T14:22:48.653 回答