如何在IntelliJ IDEA中扫描Kotlin项目中已废弃API的调用
全局扫描Kotlin项目中废弃API调用的方案
当前IntelliJ IDEA的局限
处理Kotlin代码时,IDEA没有Java那样便捷的全局废弃API调用扫描途径:
- Java支持的
Code→Inspect Code全局检查、Deprecated API Usage专项分析、结构搜索模板,均无法直接适配Kotlin - 仅能在单个打开的文件中识别废弃调用提示,全项目/文件夹级分析不会输出相关结果
- JetBrains已记录该问题,但暂未提供官方解决方案
可用临时解决办法
调整IDEA检查配置实现全局扫描
- 打开
File→Settings→Editor→Inspections,定位到Kotlin→Compatibility issues→Deprecated symbol usage,确保该检查项处于启用状态 - 执行
Code→Inspect Code,在弹窗中选择整个项目作为检查范围,分析完成后在结果面板的Deprecated symbol usage分类下查看所有匹配的废弃API调用
注:该方法存在偶发漏报情况,建议结合其他方式验证
- 打开
借助静态分析工具
- Detekt:在项目中集成Detekt插件,启用
deprecatedDeclaration规则,执行全量分析后,可在生成的报告中获取全局的废弃API调用清单 - Ktlint:开启
experimental规则集(其中包含废弃API检测相关规则),通过Gradle任务或命令行执行全项目扫描
- Detekt:在项目中集成Detekt插件,启用
正则搜索辅助排查
- 使用IDEA的
Edit→Find→Find in Path功能,自定义正则表达式匹配废弃方法的调用模式(精度有限,仅作为补充排查手段)
- 使用IDEA的
内容的提问来源于stack exchange,提问作者snap
相关产品推荐
相关产品推荐

