IntelliJ IDEA查找覆盖方法的用法,而不查找同级方法

hts6caw3  于 2024-01-05  发布在  IntelliJ IDEA
关注(0)|答案(2)|浏览(191)

我有一个父类P,子类AB
我想找到A的方法f的所有用法。
所以要么是p.f(),要么是a.f(),但不是b.f(),因为示例B b不能调用A.f
我知道我能找到

  • 直接调用A.f。这会错过:
  1. P p = new A();
  2. p.f();

字符串

  • 调用P.f和任何覆盖。这有太多的误报。

我知道只使用编译时信息总是会有误报,但可能会更少。

cnh2zyt3

cnh2zyt31#

您可以使用结构搜索(编辑|找到|Search Structurally...)。使用如下查询:

  1. $x$.f()

字符串
使用表达式类型过滤器A|P。这将查找AP类型的表达式上对f()的所有调用。如果在AP之间的层次结构中有更多的类,则还需要将这些类添加到表达式类型过滤器中。

kqhtkvqz

kqhtkvqz2#

现在可以更深入地搜索用法。只需按Ctrl+Shift+Alt+F7(对于Mac Cmd+Shift+Alt+F7)而不是Alt+F7,然后检查您想要搜索的内容。在您的情况下,取消选中“搜索基本方法用法”。
欲了解更多信息,请访问官方网站:https://www.jetbrains.com/help/idea/find-usages-method-options.html

相关问题