快速比较IntelliJ中的方法

Mus*_*afa 39 java diff intellij-idea

我目前正在研究遗留的Java代码,该代码几乎没有编写代码或常见做法.我经常遇到工作但非常糟糕的代码片段(变量名称,冗余和许多其他的拼写错误),我发现自己要求修复.在其中一个实例中,我发现一个类包含三个具有不同名称但几乎相同的方法体的方法.

根据我最初的观察,唯一的区别是其中一个参数的名称.

在采取任何步骤并将它们合并之前,我想对三种方法进行比较,看看是否存在我没​​有注意到的任何细微差别.

我知道可以比较两个文件,与VCS等版本进行比较,但我无法找到快速比较同一文件中方法定义的方法.

是否有更实用的方法来比较IntelliJ中同一文件的不同部分,而不是将它们复制到不同的文件并运行文件比较?

谢谢,

小智 92

在IntelliJ中比较方法(或任何代码块)的另一种快速方法:

  1. 将一个版本复制到剪贴板.
  2. 突出显示其他版本.
  3. 使用编辑器中的上下文菜单中的"与剪贴板比较"功能,或从"视图">"与剪贴板比较".


dbr*_*708 8

IntelliJ 在分析中找到重复项.它具有高度可配置性和语言感知能力,它不仅仅是寻找相同的文本块.它能够检测两个代码块是否相同,但是具有不同的变量名称.

您甚至可以扩展范围,以便检测不同文件中的代码重复.

有关更多信息,请参阅此帮助页面.

  • 值得注意的是,这仅适用于付费的"终极版"而非开源"社区版".(并不是说它过于昂贵 - 它是一个很棒的工具 - 它只花了我一段时间来弄清楚为什么我会错过它......) (5认同)