【问题标题】:Can I use WinMerge as my merge/diff tool within Visual Studio?我可以在 Visual Studio 中使用 WinMerge 作为我的合并/差异工具吗?
【发布时间】:2015-03-07 16:38:43
【问题描述】:

我需要比较我的项目中的两个文件,这是用 C# 编写的。我可以将 WinMerge(或任何其他差异工具)与 Visual Studio 集成并从内部轻松使用吗?

【问题讨论】:

  • 您想为 Visual Studio 配置差异工具,还是想在您的应用程序中集成差异工具?前者是answered here,后者太宽泛了。
  • 这个问题不清楚。您想将它集成到 Visual Studio 或您自己的程序中吗?你所说的“整合”到底是什么意思?您是否需要该工具来打开内部 Visual Studio 或您的应用程序,或者被这两者之一打开?请说明您的确切需求。
  • 嘿抱歉回复晚了我需要比较我的应用程序中的两个文件而不调用任何第三方 exe。我只想看到 winmerge 显示两个窗格之类的差异。
  • 真正想做什么?如果您不想使用其他程序,“集成”是什么意思?你是问VS2010是否有内置比较功能?你问是否有一个插件只能在 VS2010 内部工作?那是另一个工具,只是没有exe扩展。

标签: visual-studio-2010 tfvc winmerge difftool


【解决方案1】:

paulbouwer.com life and technology上有更详细的解答 Replace diff/merge tool in Visual Studio Team System with WinMerge 文章,还有你需要传递的参数。

我会完整地复制它,因为我无法比他更好地解释它:

用 WinMerge 替换 Visual Studio Team System 中的 diff/merge 工具

2010 年 1 月 31 日

我已经使用Visual Studio Team System 2008 有一段时间了,我真的开始喜欢紧密集成的源代码控制和工作项功能。我不能习惯的一件事是 basic 差异/合并工具。

细节在哪里?

下面的屏幕截图展示了 Visual Studio Team System 中内置的差异工具的基本性质。没有迹象表明正在区分的文件之间的差异数量,甚至是特定行上的实际差异......

WinMerge

还有一个替代方案,它既开源又免费!来自WinMerge 网站:

WinMerge 是一个适用于 Windows 的开源差异和合并工具。 WinMerge 可以比较文件夹和文件,以易于理解和处理的可视文本格式呈现差异。

下载 WinMerge 并安装它。

配置 Visual Studio

在 Visual Studio 的 Tools > Options 菜单下打开 Source Control > Visual Studio Team Foundation

点击配置用户工具...和配置用户工具对话框 将可用。

为比较工具添加 WinMerge 详细信息。点击 Configure User Tools 对话框中的 Add ... 按钮,然后按照下面的屏幕截图进行配置。参数文本框旁边的箭头按钮显示了有关 Visual Studio 可以为正在配置的工具提供的信息的详细信息。

下面配置的参数是:/e /u /wl /wr /dl %6 /dr %7 %1 %2

为合并工具添加 WinMerge 详细信息。点击 Configure User Tools 对话框中的 Add ... 按钮,然后按照下面的屏幕截图进行配置。参数文本框旁边的箭头按钮显示了有关 Visual Studio 可以为正在配置的工具提供的信息的详细信息。

下面配置的参数是:/e /u /wl /dl %6 /dr %7 %1 %2 %4

现在应该将比较和合并操作配置为使用 WinMerge。

WinMerge 命令行选项

WinMerge 包含多个command line options。以下是上面配置中用到的。

/e 使 WinMerge 只需按一次 Esc 键即可关闭。

/u 阻止 WinMerge 添加左侧或右侧 最近使用 (MRU) 列表的文件路径。

/wl 以只读方式打开左侧。

/wr以只读方式打开右侧。

/dl 左侧标题栏的说明。

/dr 右侧标题栏的说明。

终于有一个不错的区别了!

现在 Visual Studio 中的比较更有意义,它显示差异的数量、它们在比较文件中的位置以及每行的实际差异。 WinMerge 支持自定义语法着色和差异着色。

个人备注:

我对其进行了测试,但无法对本地文件进行更改,因此我按照 Youen 在该页面上的建议删除了比较操作的 /wr 参数,现在效果很好!

【讨论】:

  • 如果您希望能够在比较时编辑文件,请使用以下参数:/e /u /dl %6 /dr %7 %1 %2
  • @AkiraYamamoto 最后看到我的个人笔记了吗?
  • 我当然没有。我建议您将其移近比较参数。
  • @AkiraYamamoto:我没有将它移到那里,因为我的转录 ipsis verbis 与原始来源完全一致。
【解决方案2】:

我使用 WinMerge 比较文件,并将 winmerge 与 Visual Studio 集成。为此请遵循以下说明:

  1. 在 Visual Studio 中选择:工具 > 选项
  2. 从此对话框中选择:源代码管理 > Visual Studio Team Foundation Server

您必须在此处选择配置用户工具,然后选择添加。之后,从打开的对话框中在 Extension 字段中输入 .* 并将 Operation 设置为 Compare 并在 Command 字段中输入 WinMerge 可执行文件路径并选择 OK。

就是这样;)

【讨论】:

    猜你喜欢
    • 2011-01-05
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 2012-05-29
    • 2016-01-27
    • 2013-07-05
    • 2011-02-07
    • 1970-01-01
    相关资源
    最近更新 更多