如何“以编程方式”将diff工具与Visual Studio集成

时间:2013-10-30 07:34:24

标签: c# visual-studio-2010 winmerge

有没有办法以“编程方式”将diff工具(如WinDiff和WinMerge)与Visual Studio 2010集成?这些文件不是解决方案资源管理器中的文件。

程序必须在列表中搜索并存储从某个目录中找到的文件,然后递归地比较具有相同名称的文件。

2 个答案:

答案 0 :(得分:5)

据我所知,你正在寻找TFS Difference课程。以下是如何使用它的示例:

string f1 = @"file1.cs";
string f2 = @"f2.cs";

Microsoft.TeamFoundation.VersionControl.Common.DiffOptions options = new Microsoft.TeamFoundation.VersionControl.Common.DiffOptions();
options.Recursive = true;
options.StreamWriter = new System.IO.StreamWriter(Console.OpenStandardOutput());
options.UseThirdPartyTool = true;
options.OutputType = Microsoft.TeamFoundation.VersionControl.Common.DiffOutputType.Unified;            

var diff = Difference.DiffFiles(
            f1, FileType.Detect(f1, null),
            f2, FileType.Detect(f2, null),
            options);

while (diff != null)
{
    // Do whatever it is that you want to do here            
    diff = diff.Next;
}

答案 1 :(得分:0)

您可能需要查看此扩展程序是否符合您的要求:http://visualstudiogallery.msdn.microsoft.com/dace3633-0b51-4629-85d4-c59cdce5bb3b?SRC=Featured