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

Nul*_*ion 3 c# winmerge visual-studio-2010

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

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

Pau*_*els 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;
}
Run Code Online (Sandbox Code Playgroud)