如何在IntelliJ IDEA中仅搜索类中的方法而非成员变量?
在IntelliJ IDEA中仅搜索类内方法的操作方法
当然有啦!IntelliJ IDEA早就考虑到这种需求了,给你分享几个实用的方法,帮你精准定位类里的方法,完全避开成员变量:
方法一:用Structure面板快速过滤类内方法
这是单个类内搜索方法最快捷的方式:
- 打开当前类的Structure面板:按下
Alt+7(Windows/Linux)或者Cmd+7(Mac),右侧会弹出类的结构视图。 - 过滤成员变量:点击面板右上角的漏斗图标,在弹出菜单里取消勾选
Fields选项,只保留Methods。 - 搜索目标方法:在Structure面板顶部的搜索框输入关键词,出来的结果就全是当前类里的方法,完全不会混入成员变量。
方法二:用结构搜索(Structural Search)实现全局精准匹配
如果需要跨多个类搜索方法,这个方式的精准度最高:
- 打开结构搜索窗口:按下
Ctrl+Shift+S(Windows/Linux)或者Cmd+Shift+S(Mac),也可以通过菜单栏Edit -> Find -> Search Structurally打开。 - 选择方法模板:在窗口左上角的模板下拉菜单里,找到
Method declaration这个预设模板(专门匹配方法声明)并选中。 - 自定义匹配规则(可选):如果要找特定修饰符、返回类型或含关键词的方法,点击
Edit按钮修改模板,比如给方法名添加关键词匹配条件,或者限定访问修饰符。 - 执行搜索:点击
Find按钮,返回的结果只会包含方法,成员变量会被完全排除。
方法三:用Find in Path配合过滤规则
适合快速跨文件搜索方法,操作灵活度高:
- 打开Find in Path:按下
Ctrl+Shift+F(Windows/Linux)或者Cmd+Shift+F(Mac)。 - 设置搜索范围:在
Scope选项里选择你要搜索的范围(比如当前类、某个包或者整个项目)。 - 添加方法过滤:点击搜索框下方的
...按钮打开更多选项,在Structural search filter里选择Method;也可以直接用正则表达式匹配方法结构,比如输入^(public|private|protected)?\s*\w+\s+\w+\(.*\)来匹配方法声明的开头部分。 - 执行搜索:点击
Find,结果里就只会显示方法相关内容。
内容的提问来源于stack exchange,提问作者Artemix
相关产品推荐
相关产品推荐

