我有一个父类P,子类A和B。我想找到A的方法f的所有用法。所以要么是p.f(),要么是a.f(),但不是b.f(),因为示例B b不能调用A.f。我知道我能找到
P
A
B
f
p.f()
a.f()
b.f()
B b
A.f
P p = new A();p.f();
P p = new A();
p.f();
字符串
P.f
我知道只使用编译时信息总是会有误报,但可能会更少。
cnh2zyt31#
您可以使用结构搜索(编辑|找到|Search Structurally...)。使用如下查询:
$x$.f()
字符串使用表达式类型过滤器A|P。这将查找A或P类型的表达式上对f()的所有调用。如果在A和P之间的层次结构中有更多的类,则还需要将这些类添加到表达式类型过滤器中。
A|P
f()
kqhtkvqz2#
现在可以更深入地搜索用法。只需按Ctrl+Shift+Alt+F7(对于Mac Cmd+Shift+Alt+F7)而不是Alt+F7,然后检查您想要搜索的内容。在您的情况下,取消选中“搜索基本方法用法”。欲了解更多信息,请访问官方网站:https://www.jetbrains.com/help/idea/find-usages-method-options.html
Cmd+Shift+Alt+F7
2条答案
按热度按时间cnh2zyt31#
您可以使用结构搜索(编辑|找到|Search Structurally...)。使用如下查询:
字符串
使用表达式类型过滤器
A|P
。这将查找A
或P
类型的表达式上对f()
的所有调用。如果在A
和P
之间的层次结构中有更多的类,则还需要将这些类添加到表达式类型过滤器中。kqhtkvqz2#
现在可以更深入地搜索用法。只需按Ctrl+Shift+Alt+F7(对于Mac
Cmd+Shift+Alt+F7
)而不是Alt+F7,然后检查您想要搜索的内容。在您的情况下,取消选中“搜索基本方法用法”。欲了解更多信息,请访问官方网站:https://www.jetbrains.com/help/idea/find-usages-method-options.html