48

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

场景

想要找到方法“ findUsage ”被调用的地方。

样本类

在此处输入图像描述

调用层次结构输出CtrlAltH( ++ )

在此处输入图像描述

查找参考 ( Ctrl++ Shift)G输出

在此处输入图像描述

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

4

2 回答 2

58

“查找引用”向您显示所选方法的所有直接调用者。相比之下,“呼叫层次结构”还显示了那些直接呼叫者的呼叫者,以及那些……的呼叫者,等等。

因此,如果您选择的方法的直接调用者本身没有任何调用者,则输出是相同的。只需在一些更大的代码库上尝试这两个命令,您就会立即看到不同之处,如下图所示:

调用层次结构

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

于 2012-12-24T12:36:02.840 回答
1
  • Ctrl+ Shift+G:工作区中的引用。它仅显示源代码中所选类或方法或变量的 引用。
  • Ctrl+ Alt+H:调用层次结构。它显示了直到根类的所有层次结构。
于 2017-12-25T01:59:17.440 回答