调用层次结构和查找引用eclipse有什么区别?

kan*_*rbk 38 eclipse eclipse-plugin

我在eclipse Ctrl+ Shift+ GCtrl+ Alt+中使用这两个命令时都感到困惑,H两者都返回相同的结果.

场景:

想要找到调用方法" findUsage "的位置.

样本类

在此输入图像描述

调用层次结构输出(Ctrl+ Alt+ H).

在此输入图像描述

查找引用(Ctrl+ Shift+ G)输出

在此输入图像描述

两者都显示相同的结果.谁能知道这两个命令有什么区别?

Ban*_*zen 49

"查找引用"显示所选方法的所有直接调用方.相比之下,"呼叫层次结构"也显示了那些直接呼叫者的呼叫者,以及那些呼叫者的呼叫者......等等.

因此,如果所选方法的直接调用者没有任何调用者,则输出仅相同.只需在一些较大的代码库上尝试这两个命令,您就会立即看到差异,如此屏幕截图所示:

调用层次结构

如果你想知道为什么有两个这样的功能,如果"查找引用"基本上只是"调用层次结构"的一个子集:查找引用工作非常快,所以你可以一直使用它而无需等待结果.另一方面,调用层次结构需要更多的计算时间,因此可能会中断编码工作流程.

  • AFAIK调用层次结构查找字段引用. (4认同)
  • "查找引用"存在更多,因为它还有其他用途......没有字段的调用层次结构,但您可以找到对它的引用.另一个区别是Call Hierarchy也可以设置为forward模式,显示所选方法调用的方法,调用的方法等. (2认同)