我正在寻找一个diff工具,它允许我只比较文件的一个子部分和另一个文件的一部分,甚至是它自己。最好是基于eclipse但会采取所有建议。
是的我知道我可以将这两个部分复制到不同的文件中并进行比较,但是当你尝试进行大量的重构时,这非常繁琐。
基本上我正试图从遭受大量ctrl-V'继承'的代码库中删除尽可能多的重复代码;-)然而,粘贴的部分随着时间的推移已经发展了一段时间。 / p>
答案 0 :(得分:4)
我一直在玩Atomiq,它在单个文件中找到重复项。到目前为止,它看起来是一个不错的工具。
答案 1 :(得分:3)
尝试使用Diffuse。只需将要比较的两个子部分粘贴到单独的窗格中,然后按CTRL-L重新对齐它们。您还可以加载文件并手动调整对齐以匹配感兴趣的子部分。
答案 2 :(得分:2)
我用来根除重复代码的两个工具是Simian和CopyPasteKiller。两者都很有用,虽然IMO CopyPasteKiller更容易上手。看来Simian有一个Eclipse plugin,虽然我自己没有用过它。
答案 3 :(得分:1)
CheckStyle 与Eclipse很好地集成,可以完成这项工作。如果您的代码重复,它会通知您并出现错误/警告,等等......等等......
http://eclipse-cs.sourceforge.net/
Kdiff3 将是另一种选择。不是Eclipse集成,而是一个非常好的免费跨平台工具,用于合并,比较文件等。
答案 4 :(得分:0)
对于大量语言(Java,C#,PHP,C ++,C,COBOL,Ada,...),请参阅SD CloneDR,这是一种根据语言语法检测精确和接近错过克隆的工具。 。 Eclipse API目前正在准备中,可能会在2010年1月1日发布。