比较Visual Studio中的两个文件

我在VS 2012中看到了新的比较工具,用于比较两个文件或两个版本的文件。 我喜欢。 但是,当我试图find它,我不能因为我不使用TFS。 有没有办法如何才能比较两个文件VS内buildfunction,但没有TFS?

您可以从命令提示符处调用devenv.exe /diff list1.txt list2.txt ,或者,如果Visual Studio实例已经在运行,则可以在命令窗口中键入Tools.DiffFiles ,并提供方便的文件名完成:

从Visual Studio命令窗口使用Tools.DiffFiles

您可以尝试Visual Studio图库中的VSCommands扩展 。 最新版本允许您select两个文件并进行比较:

在这里输入图像说明在这里输入图像说明

我一直是WinMerge的粉丝,这是一个开源项目。 你可以很容易地将它插入Visual Studio。

http://blog.paulbouwer.com/2010/01/31/replace-diffmerge-tool-in-visual-studio-team-system-with-winmerge/

会告诉你如何做到这一点

还有一个名为CompareFiles的Visual Studio扩展,除了将“比较文件”条目添加到解决scheme资源pipe理器上下文菜单中外 ,没有其他任何操作。 它调用内置的Visual Studio diff工具。

以防万一有人(像我)不想安装一个像VSCommands一样的扩展…

如果你安装了VS,你也可以打电话

 "%VS110COMNTOOLS%..\IDE\vsdiffmerge.exe" "File1" "File2" 

或VS 2013

 "%VS120COMNTOOLS%..\IDE\vsdiffmerge.exe" "File1" "File2" 

资料来源: http : //roadtoalm.com/2013/10/22/use-visual-studio-as-your-diff-and-merging-tool-for-local-files/

在Visual Studio 2012,2013,2015中,您还可以使用Web Essentials进行操作 ,只需右键单击文件,然后从上下文菜单> Web Essential >> Diff Diff selected files:

编辑:它现在可作为一个单独的扩展

在这里输入图像说明

我也有这个问题。 没有TFS,但我发现这篇文章有帮助 。

具体来说,步骤1b。

打开Visual Studio命令提示符并导航到Common7 / IDE文件夹并键入

 tf diff /configure 

文件比较器VS扩展由Akhil米塔尔。 优秀的轻量级工具,完成工作。

受上述公认的答案的启发,我发现了一个非常舒适的方式,即如何通过使用拖放或通过“发送到”上下文菜单即时比较两个文件与Visual Studio。 它只需要一点点准备,你需要做一次,然后像瑞士军刀一样有用。

使用拖放进行文件比较

制备:

1.用你最喜欢的文本编辑器创build一个新的batch file。 键入以下内容:

 @echo off setlocal set vspath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE start "Compare files" /B /MIN "%vspath%\devenv.exe" /diff %2 %1 First:'%2' Second:'%1' 

您可能会注意到,我在批处理中反转了%1和%2参数,这是因为我注意到文件资源pipe理器先传递第二个文件,然后传递第一个文件。

  1. 将此代码保存为VS_FileCompare.cmd以使用它,如果需要匹配devenv.exe的位置(取决于您当前使用的Visual Studio版本),请修改vspath

  2. 或者为VS_FileCompare.cmd创build一个名为“文件比较”快捷方式 ,并将其放置在桌面上 (如下面的animation所示),因此可以将文件拖放到桌面上,或直接将batch file放在桌面上。 就这样!

用法:

  1. 通过Win + E打开Windows资源pipe理器
  2. 在资源pipe理器中select两个文件进行比较
  3. 拖放它们,如下面的animation所示: DragDropDemo

  4. 几秒钟后(取决于Visual Studio的启动时间),结果将显示在Visual Studio中: Visual Studio视图

注意:如果Visual Studio已经打开,它不会有害。 在这种情况下,它只会在Visual Studio的运行实例中打开一个新窗口。 所以你可以比较多个文件对,但是请确保你一次只select了2个文件。


另一种方法:SendTo上下文菜单

以下是如何使用batch file的另一种方法。 它允许使用上下文菜单的“发送到”文件夹来比较文件。

制备:

  1. 将快捷方式放入发送到文件夹。 通过Win + E打开Windows资源pipe理器
  2. 通过inputshell:sendto打开Send To文件夹到文件浏览器的地址栏中(如下所述)。 然后,将准备好的快捷方式放入此文件夹中。

用法:

  1. 通过Win + E打开Windows资源pipe理器
  2. 在资源pipe理器中select两个文件进行比较
  3. 假设该快捷方式名为“Compare2Files VS”,可以select这两个文件,右键单击并selectSend To – > VS_FileCompare来调用比较,如下所示: SendToSample
  4. 几秒钟后(取决于Visual Studio的启动时间),结果将显示在Visual Studio中: Visual Studio视图

MSDN参考资料:
– 使用差异窗口
– Visual Studio的差异参数

我相信这是Visual Studio 2012更好的扩展之一,它被称为代码比较,可以在这里find。

Visual Studio代码中,您可以:

  • 转到Explorer
  • 右键单击要比较的第一个文件
  • selectSelect for compare
  • 右键单击要比较的第二个文件
  • selectCompare with '[NAME OF THE PREVIOUSLY SELECTED FILE]'

如果您正在使用TFS连接,然后右键单击您需要比较的文件(通过源代码pipe理资源pipe理器),并为您呈现一个类似于此的窗口 – 在这里输入图像说明

现在改变“Souce Path:”源文件的path,并通过VS比较工具进行比较。

同样,你可以比较文件夹也是一次比较文件夹的所有文件。