我在Visual Studio 2012中看到了新的比较工具,用于比较两个文件或一个文件的两个版本。我喜欢它。但当我试图找到它时,我找不到它,因为我不使用TFS。
是否有一种方法,我可以比较两个文件的内置功能在Visual Studio(但没有TFS)?
我在Visual Studio 2012中看到了新的比较工具,用于比较两个文件或一个文件的两个版本。我喜欢它。但当我试图找到它时,我找不到它,因为我不使用TFS。
是否有一种方法,我可以比较两个文件的内置功能在Visual Studio(但没有TFS)?
当前回答
Akhil Mittal开发的File Comparer Visual Studio扩展是一个很好的轻量级工具。
其他回答
Visual Studio扩展:Mads Kristensen的文件不同
受到上面Vladimir Reshetnikov回答的启发,我找到了一种非常舒服的方法,可以通过拖放或“发送到”上下文菜单在Visual Studio中立即比较两个文件。它只需要一点点准备,你只需要做一次,然后它就像瑞士军刀一样有用。
Visual Studio已经有了你需要的一切,并且只需要一些配置步骤就可以使其工作:
文件比较使用拖放
准备:
Create a new batch file using your favorite text editor. Type the following: @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' You might notice that I have reversed the %1 and %2 parameters in the batch. This is because I noticed that the file explorer passes the second file as the first parameter, and then the first file as the second parameter. Save this code as VS_FileCompare.cmd to use it, and modify vspath if required to match the location of devenv.exe (depending on the Visual Studio version you're currently using, see footnote*) ) Either create a shortcut named "File Compare" for VS_FileCompare.cmd and place it on the desktop (as used in the animation below), so it is always available to drag & drop files onto it or directly place the batch file on the desktop. That's all!
用法:
通过Win + E打开Windows资源管理器 在资源管理器中选择两个文件进行比较 拖放它们,如下图所示: 几秒钟后(取决于Visual Studio的启动时间),结果将在Visual Studio中显示:
注意:如果Visual Studio已经打开,则不会造成损害。在这种情况下,它只会在Visual Studio的运行实例中打开一个新窗口。因此,您可以比较多个文件对,但请确保一次只选择两个文件。
另一种方法:SendTo上下文菜单
下面是如何使用批处理文件VS_FileCompare的另一种方法。上面一节中提到的CMD。它允许使用上下文菜单的“发送到”文件夹来比较文件。
准备:
为批处理文件VS_FileCompare创建一个快捷方式“Compare2Files VS”。并将其复制到SendTo文件夹中。通过Win + E打开Windows资源管理器 通过在文件资源管理器的地址栏中输入shell: SendTo打开SendTo文件夹(如此处所述)。然后,将准备好的快捷方式放入此文件夹。
用法:
通过Win + E打开Windows资源管理器 在资源管理器中选择两个文件进行比较 假设批处理文件VS_FileCompare的快捷方式为。cmd被命名为"Compare2Files VS",你可以选择这两个文件,右键单击并选择Send To→Compare2Files VS来调用比较,如下所示: 几秒钟后(取决于Visual Studio的启动时间),结果将在Visual Studio中显示:
提示:如果你喜欢SendTo文件夹方法,你可以做更多的事情-例如,你可以直接通过SendTo打开一个命令shell,它以正确的路径开始(所选文件所在的路径)。看看这里,找到如何做到这一点。您甚至可以将它与脚本结合起来,以获得更高的权限,只需稍加额外的努力。
MSDN引用:
diff窗口的使用 Visual Studio的Diff参数
*)脚注:因为vsPath (DEVENV.exe的路径)根据你的Visual Studio版本而不同,我正在描述如何找到它(Windows 10):
在Windows开始菜单中,找到Visual Studio图标 右键单击弹出上下文菜单。选择“更多→打开文件位置”。Windows资源管理器将以高亮显示的Visual Studio快捷方式打开。 右键单击Visual Studio并选择属性 在属性对话框中,你可以在“Target:”中找到路径。
用屏幕转gif创建的动画
我相信这是Visual Studio 2012的一个更好的扩展。它被称为代码比较,可以在这里找到。
您可以从Visual Studio开发人员命令提示符中调用devenv.exe /diff list1.txt list2.txt,或者,如果Visual Studio实例已经在运行,您可以键入Tools。在命令窗口中的DiffFiles,有一个方便的文件名补全:
在Visual Studio 2012、2013、2015中,你也可以用Web Essentials来实现。只需右键单击文件,然后从上下文菜单→Web Essential→Diff所选文件:
它也可以作为一个单独的扩展。