可以比较文件子段的差异工具

13
我正在寻找一款比较工具,能够让我将文件的一个子部分与另一个文件或者相同文件的另一个部分进行比较。最好是基于Eclipse的,但我会考虑所有建议。
是的,我知道我可以将两个部分复制到不同的文件中并比较它们,但当您试图进行大量重构时,这非常繁琐。
基本上,我正在尝试从一个代码库中尽可能多地删除重复的代码,因为这个代码库正在遭受大量的Ctrl-V"继承";-) 但是,这些粘贴的部分随着时间的推移已经有所发展。

我点赞 - 我总是要取出3或4行的某些内容(错误代码、XML、GUID等)并尝试将其与其他内容进行比较。将它们放入两个文件中可以解决问题,但这很麻烦。 - Justin
1
感谢所有关于重复项查找器的建议,我已经检查过它们了。我找到了一个在Eclipse中使用Simian的插件。问题并不是找到重复项。我已经知道大多数重复项实际上在哪里。现在我需要解决的是如何解决这些重复项的问题...这就是为什么我需要直接比较这些部分的差异。 - EvilPuppetMaster
@EvilPuppetMaster:是的,关键不在于查找,而在于差异。我曾经问过一个类似的问题(https://dev59.com/lk3Sa4cB1Zd3GeqPxr2r)。现在要去调查一下Atomiq。 - thoni56
5个回答

4

我一直在使用Atomiq,它可以在单个文件中查找重复项。目前看来,它是一个不错的工具。


1
Atomiq现在拥有一个官方网站,其中包含更多信息:http://www.getatomiq.com - viggity

3

尝试使用Diffuse。只需将要比较的两个子部分粘贴到不同的窗格中,然后按下CTRL-L进行重新对齐。您还可以加载文件并手动调整对齐,以匹配感兴趣的子部分。


2
我用过的两个工具来查找重复代码是SimianCopyPasteKiller。两者都很有用,尽管我认为CopyPasteKiller更容易上手一些。似乎有一个Eclipse插件可以使用Simian,但我自己没有用过。

1

CheckStyle 很好地集成在 Eclipse 中,可以完成工作。如果您的代码重复,它会通知您并发出错误/警告,告诉您重复了多少次等等...

http://eclipse-cs.sourceforge.net/

Kdiff3 是另一个选择。虽然不是与 Eclipse 集成的,但它是一个非常好用的免费跨平台工具,可用于合并、比较文件等。


0
查看 SD CloneDR,这是一个根据语言语法检测完全相同和近似克隆的工具,适用于多种编程语言(Java,C#,PHP,C ++,C,COBOL,Ada等)。目前正在准备Eclipse API,并且预计将在2010年1月1日之前提供。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接