我在VS 2012中看到了新的比较工具,用于比较两个文件或文件的两个版本。我喜欢。但是,当我尝试找到它时,因为我不使用TFS而无法找到它。有没有一种方法可以只比较两个具有VS中内置功能但没有TFS的文件?
我在VS 2012中看到了新的比较工具,用于比较两个文件或文件的两个版本。我喜欢。但是,当我尝试找到它时,因为我不使用TFS而无法找到它。有没有一种方法可以只比较两个具有VS中内置功能但没有TFS的文件?
Answers:
您可以devenv.exe /diff list1.txt list2.txt
从命令提示符下调用,或者,如果已经在运行Visual Studio实例,则可以Tools.DiffFiles
在“命令”窗口中键入,并以方便的文件名完成:
受到上面接受的答案的启发,我找到了一种非常舒适的方法,您可以通过拖放或通过“发送到”上下文菜单立即使用Visual Studio比较两个文件。它只需要做一点准备,您需要做一次,然后它就像瑞士军刀一样有用。
Visual Studio已经拥有您所需的一切,只需一些配置步骤即可使它起作用:
准备:
1. 使用您喜欢的文本编辑器创建一个新的批处理文件。输入以下内容:
@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
参数。这是因为我注意到文件浏览器将第2个文件作为第一个参数传递,然后将第一个文件作为第二个参数传递。
2.保存此代码VS_FileCompare.cmd
以使用它,vspath
如果需要,请进行修改以匹配位置devenv.exe
(取决于您当前使用的Visual Studio版本,请参见脚注*))
3.创建一个名为“文件比较”的快捷方式,然后放置在桌面上VS_FileCompare.cmd
(如下面的动画中所使用),因此始终可以将文件拖放到其上或直接将批处理文件放置在桌面上。就这样!
用法:
注意:如果Visual Studio已打开,则不会造成损害。在这种情况下,它将在运行的Visual Studio实例中打开一个新窗口。因此,您可以比较多个文件对,但是请确保一次仅选择2个文件。
这是替代方法,您可以使用VS_FileCompare.cmd
上面部分中提到的批处理文件。它允许使用上下文菜单的“发送到”文件夹来比较文件。
制备:
VS_FileCompare.cmd
,并将其复制到SendTo文件夹中。通过+ 打开Windows资源管理器WinEshell:sendto
到文件浏览器的地址栏(如描述在这里)。然后,将准备好的快捷方式放入此文件夹。用法:
假设批处理文件的快捷方式VS_FileCompare.cmd
名为“ Compare2Files VS”,则可以选择两个文件,右键单击并选择Send To-> Compare2Files VS以调用比较,如下所示:
MSDN参考:
- DIFF窗口的使用
- Visual Studio的DIFF参数
*) 脚注:由于vsPath
(的路径DEVENV.exe
)随Visual Studio版本的不同而不同,因此,我正在描述如何找到它(Windows 10):
您可以从Visual Studio Gallery尝试VSCommands扩展。 最新版本允许您选择两个文件并进行比较:
还有一个名为CompareFiles的Visual Studio扩展,除了将“比较文件”条目添加到解决方案资源管理器上下文菜单外,它什么也不做。它调用内置的Visual Studio差异工具。
以防万一(像我一样)不想安装像VSCommands这样的多合一扩展...
在Visual Studio 2012、2013、2015中,您也可以使用Web Essentials做到这一点,只需右键单击文件,然后从上下文菜单> Web Essential >>区分所选文件:
编辑:现在可以作为单独的扩展程序使用
VS 2015
但看不到Diff selected files
为什么的选择?
如果您已安装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/
VS扩展:文件迥异通过的Mads克里斯滕森
更新:对于VS 2019 File Differ插件允许比较不同proyects中的文件
您可以从这里安装:
OLD:
对于VS 2017安装
https://marketplace.visualstudio.com/items?itemName=vs-publisher-457497.FileComparer2017
问题是您无法比较不同proyects中的文件,但可以将文件复制到同一项目中进行比较...
比较任何两个文件并将其合并到一个文件中如果安装了Visual Studio(任何版本),则可以执行以下步骤。
步骤1:打开Visual Studio命令提示符。如果找不到Visual Studio命令提示符,则选择Visual Studio工具
开始-> Visual Studio命令提示符
步骤2:输入命令vsdiffmerge.exe
如果只需要比较,请忽略/ m开关。
语法1:
vsdiffmerge <文件1 > <文件2> <文件1 > <输出文件> / t / m
语法2:
vsdiffmerge <基本文件名> <比较文件名> <基本文件名> <输出文件名> / t / m
示例1:
vsdiffmerge test1.js test2.js test1.js output.js / t / m
示例2:
vsdiffmerge.exe“ C:\ Users \ livingston \ Downloads \ wa \ wa \ Files \ pre \ Test.js”“ C :\\ Users \ livingston \ Downloads \ wa \ wa \ Files \ Prod \ Test.js“” C:\ Users \ livingston \ Downloads \ wa \ wa \ Files \ pre \ Test.js“” C:\ Users \ livingston \ Downloads \ wa \ wa \ Files \ output \ samp.js“ / t / m
步骤3:合并档案
您也可以在进行比较之前美化文件。在Visual Studio中,按Ctrl + K +D。
在线有很多美化网站。
在Visual Studio中,可以使用Command Window
然后调用Tools.DiffFiles
命令来调用Diff
Command Window
通过热键Ctrl + W, A
或菜单打开View -> Other Windows -> Command Window
Tools.DiffFiles "FirstFile.cs" "SecondFile.cs"
如果您使用的是TFS连接,则右键单击您需要比较的文件(通过源代码管理浏览器),它会为您显示一个这样的窗口-
现在,在“ Souce Path:”中更改源文件的路径,即可通过VS比较工具进行比较。
同样,您也可以比较文件夹,它可以一次比较一个文件夹的所有文件。