如何在IntelliJ中批量查找大型Java项目里仅调用一次的方法
在IntelliJ 2017.3中找出仅被调用一次的方法(含私有函数)
我给你整理了几个实用的方案,都是在IntelliJ 2017.3里能直接操作的,帮你快速定位那些仅被调用一次的方法,尤其是私有函数:
方案一:用Find Usages配合统计列快速筛选
- 先选中你要分析的范围(比如某个包、模块,甚至是单个目录),右键选择
Find Usages Settings(快捷键是Alt+Ctrl+Shift+F7) - 在弹出的设置窗口里,根据你的需求调整:比如要不要包含测试代码,把分析范围精准锁定在你关心的区域,然后点击
Find - 在弹出的Find工具窗口里,右键点击表头,勾选
Usage Count这一列——这样每个方法的调用次数就直接显示出来了,你只要找次数为1的就行 - 要是只想看私有函数,直接点右上角的过滤按钮,选择
Private就能快速缩小范围
方案二:修改内置检查规则,定制专属分析
- 打开设置面板(Ctrl+Alt+S),找到
Editor > Inspections,展开Java分类下的Unused declaration - 勾选
Unused method,然后点击右边的小齿轮(或者...按钮)进入配置页面 - 切换到
Usage Count标签,把Minimum number of usages和Maximum number of usages都设为1,这样就把检查规则从“未使用”改成了“仅被调用一次” - 接下来按Ctrl+Alt+Shift+I打开
Run inspection by name,输入这个检查的名字运行,就能得到符合条件的方法列表了,同样可以右键结果选择Filter > Private来筛选私有函数
方案三:用结构搜索精准定位私有方法
- 打开
Edit > Find > Search Structurally(快捷键Ctrl+Shift+S) - 点击
Existing Templates,找到Methods > Private method模板并选中 - 点击
Edit Variables,给方法设置引用次数条件:在occurrences选项里选count,值设为=1 - 选好要分析的范围后点击
Find,就能直接得到仅被调用一次的私有函数列表
小提示
- 大型项目里建议先缩小分析范围,比如先跑单个模块,速度会快很多
- 筛选后的结果可以导出成CSV或者HTML,方便后续整理
内容的提问来源于stack exchange,提问作者NoDataDumpNoContribution
相关产品推荐
相关产品推荐

