【问题标题】:Diff tool that can compare sub-sections of files可以比较文件的子部分的 Diff 工具
【发布时间】:2010-12-20 12:20:41
【问题描述】:

我正在寻找一种差异工具,它可以让我仅将文件的一个子部分与另一个文件的一个部分进行比较,甚至可以对它本身进行比较。最好基于 Eclipse,但会接受所有建议。

是的,我知道我可以将这两个部分复制到不同的文件中并进行比较,但是当您尝试进行大量重构时,这非常乏味。

基本上,我试图从遭受大量 ctrl-V '继承' 的代码库中删除尽可能多的重复代码 ;-) 但是随着时间的推移,粘贴的部分已经逐渐分开。

【问题讨论】:

  • +1 来自我 - 我总是使用 3 或 4 行 something (错误代码、一些 xml、GUID 等...)并尝试比较它和别的东西。将它们放入 2 个文件中是可行的,但很痛苦。
  • 感谢欺骗者的所有建议,我检查了它们。我在 eclipse 中找到了一个使用 simian 的插件。真正的问题不在于找到受骗者。我已经知道大多数受骗者实际上在哪里。它是您需要弄清楚如何解决我目前所处的欺骗的点......这就是为什么我需要直接区分这些部分。
  • @EvilPuppetMaster:是的,关键不是发现而是差异。我问的是similar question。要去调查 Atomiq。

标签: eclipse refactoring eclipse-plugin diff


【解决方案1】:

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

【讨论】:

【解决方案2】:

我用来根除重复代码的两个工具是SimianCopyPasteKiller。两者都很有用,尽管 IMO CopyPasteKiller 更容易上手。 Simian 似乎有一个Eclipse plugin,虽然我自己没有使用过。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      请参阅SD CloneDR,该工具可根据语言语法检测准确克隆和未命中克隆,适用于大量语言(Java、C#、PHP、C++、C、COBOL、Ada...)。 Eclipse API 目前正在准备中,可能会在 2010 年 1 月 1 日推出。

      【讨论】:

        【解决方案5】:

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

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

        Kdiff3 将是另一种选择。不是 Eclipse 集成的,而是一个非常不错的免费跨平台工具,用于合并、比较文件等。

        【讨论】:

          猜你喜欢
          • 2019-04-02
          • 2010-09-26
          • 1970-01-01
          • 2010-12-08
          • 1970-01-01
          • 2016-10-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多