代码之家  ›  专栏  ›  技术社区  ›  lexicore

如何在Eclipse中找出某个方法是直接还是间接地从另一个方法调用的?

  •  7
  • lexicore  · 技术社区  · 14 年前

    如何在Eclipse中找出某个方法是否可能被另一个方法调用或访问(直接或间接)?

    假设我想重构 A.one() 可能会受到药物副作用的负面影响 D.four() . 所以我想知道 D.四() 可能从调用 A.一() . 我可以看到哪些方法是从 A.一() B.two() 哪个电话 C.three() 哪个电话 D.四()

    在Eclipse中有没有一种方法可以使这种搜索以某种方式自动进行?

    另外,在调用层次对话框中有一个“过滤器…”选项,但它只隐藏匹配的名称。

    3 回复  |  直到 14 年前
        1
  •  10
  •   Peter Jaric    14 年前

    这是你(@lexicore)发现的方法的一个修改版本,它涉及到更少的按钮打孔(我在 大胆的 ):

    • 打开.one()的调用层次结构,显示被调用方层次结构。
    • 选择根节点,然后按*键直到整个树展开。请注意,只需在根节点上按*即可。这将扩大整个树在“没有时间”。
    • 单击鼠标右键,复制展开的层次结构。
    • 全文搜索D.four()。

    • 键+和-仅用于展开和关闭选定的节点。
    • 我在瑞典键盘上试过这个,其中*的位置与美国键盘不同,但希望Eclipse不会在意这个。

    更新

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

        2
  •  1
  •   lexicore    14 年前

    -> -按钮冲孔。:)

    • 打开的调用层次结构 A.one()
    • 从根开始,单击 多次按下按钮。真的很多次了。:)
    • 单击鼠标右键,复制展开的层次结构。
    • D.four()

    我希望有更好的方法,不涉及打击 -&燃气轮机; -按钮。

        3
  •  0
  •   Giorgos Dimtsas    14 年前

    D.four() ,使用 Call Hierarchy 看看是否 A.one() 包含在层次结构中。