如果直接或间接地从另一个方法调用某个方法,如何在Eclipse中查找?

时间:2010-09-15 06:58:10

标签: java eclipse

如果可以从另一个方法中直接或间接地调用或访问某些方法,如何在Eclipse中找到它?

假设我想重构A.one(),这可能会受到D.four()中副作用的负面影响。因此,我想知道是否可以从D.four()调用A.one()。我可以看到使用Call Hierarchy从A.one()调用哪些方法。我可以浏览调用树,最终找到A.one()调用B.two()调用调用C.three() D.four()的{​​{1}}。

Eclipse中是否有办法以某种方式自动进行此搜索?

PS。 “调用层次结构对话框”中有一个“过滤器...”选项,但它只隐藏匹配的名称。

3 个答案:

答案 0 :(得分:9)

这是您(@lexicore)找到的方式的修改版本,其中涉及的按钮打击明显减少(我在粗体中的更改):

  • 打开A.one(),显示Callee层次结构的调用层次结构。
  • 选择根节点,然后按*键直到整个树展开。请注意,您只需要在根节点上按*。这将“彻底”扩展整棵树。
  • 单击鼠标右键,复制扩展层次结构。
  • 粘贴到文本文件中。
  • 全文搜索D.four()。

备注

  • 键*将所有未展开的叶节点展开一级。
  • 键+和 - 仅用于扩展和关闭所选节点。
  • 我在瑞典语键盘上试过这个,其中*位于与美国键盘不同的位置,但希望Eclipse不会关心它。

<强>更新

Here is some documentation,其中提到了*键。

答案 1 :(得分:1)

我们刚遇到一种方法。不是真的“自动”,涉及很多-> - 按钮打孔。 :)

  • 打开A.one(),显示Callee层次结构的调用层次结构。
  • 从根开始,通过多次单击->按钮展开整个树。真的很多次。 :)
  • 单击鼠标右键,复制扩展层次结构。
  • 粘贴到文本文件中。
  • D.four()
  • 的全文搜索

我希望有更好的方法不涉及打击-> - 按钮。

答案 2 :(得分:0)

我所知道的最简单的方法是手动导航到D.four(),在该方法上使用Call Hierarchy,看看层次结构中是否包含A.one()