你能推荐一个能够很好地处理C#的好的文件比较实用程序吗?我已经尝试过WinMerge,BeyondCompare和KDiff,但它们还不够好,例如如果我有相同名称但放在文件不同区域的函数,则将其显示为差异。
答案 0 :(得分:2)
目前(2015年4月),至少有3个商业比较工具考虑了C#代码文件的结构,以便在代码文件之间进行高级差异和合并:
这三种工具仅支持付费版本(或试用期)的此类高级比较。 AFAIK没有可以做到这一点的免费工具。
答案 1 :(得分:1)
[更新(2015):自从撰写此答案以来,现在有更多现代工具可以在各种语言中进行结构和语义合并和差异化代码。有关示例,请参阅JotaBe's answer]
原始答案(2010): 不幸的是,这是Diff的本质。它始终是逐行比较,它不是语言比较的语言。据我所知,没有什么可以满足你的要求(尽管我总是错的)。
在进行比较之前,您可以使用regionerate之类的工具来标准化类布局。这将对您的所有方法进行排序,因此您不会遇到同名方法位于文件中不同位置的问题。
答案 2 :(得分:1)
答案 3 :(得分:1)
我正在使用Devart CodeCompare执行此任务。 Native VS编辑器允许我很好地处理C#和VB。他们将此功能称为“结构比较”。它对你有用。
答案 4 :(得分:0)
我认为您不会找到能够执行此操作的文本比较实用程序。你最好重新组织这些功能,以便它们处于相同的位置。我已经看到设计器生成的代码执行此操作(即,每次重新生成文件时移动函数)。它很烦人,但我不认为你会绕过它。 BeyondCompare确实是那里最好的比较工具之一。