如何让Android Studio一次性显示所有编译错误?
解决Android Studio无法一次性显示所有编译错误的问题
哈哈太懂这种刚转IDE的痛苦了!我当初从Eclipse切到Android Studio也踩过这个坑,一开始以为是AS不如Eclipse,后来才发现是设置或者操作的问题。针对你遇到的情况,给你几个实用的解决办法:
1. 调整「Problems」面板的显示范围
Android Studio其实有专门的Problems面板(底部状态栏就能找到,找不到的话可以通过View > Tool Windows > Problems手动打开),默认可能只显示当前打开文件的错误,你可以这么调整:
- 打开面板后,点击顶部的下拉菜单(默认显示「In Current File」)
- 选择**「In Project」或者「In Module」**,这样就能看到整个项目/模块里的所有编译错误了
2. 触发全量重新编译
有时候AS的增量编译会“偷懒”,没把所有错误都检测出来,这时候手动触发全量编译就行:
- 点击顶部菜单栏的
Build > Rebuild Project(别点Make Project,那是增量编译,只会检测修改过的文件) - 等编译完成后,再看Problems面板或者Messages面板,所有错误就都会显示出来了
3. 检查Inspections的检测范围
如果是静态代码检查类的错误(不是硬编译错误)没全显示,可以调整Inspections设置:
- 打开
File > Settings > Editor > Inspections(Mac是Android Studio > Settings > Editor > Inspections) - 在顶部的「Scope」下拉菜单里选择「Project Files」,确保所有项目文件都被纳入检查范围
- 确认Kotlin相关的检查项都被勾选(比如「Kotlin > Possible bugs」这类)
4. 关闭省电模式
如果不小心开了省电模式,AS会关闭很多后台检测功能,导致错误显示不完整:
- 看顶部菜单栏的
File选项里,有没有勾选「Power Save Mode」,有的话取消掉就行
举个实际例子,比如你把A类的add方法参数改成String类型:
// 修改后的A.kt package so class A(val a: Int) { fun add(b: String): Int { return a + b.toInt() } }
这时候B.kt和C.kt里的a.add(2)都会报错,但如果没调整设置,AS可能只显示当前打开文件的错误。按照上面的方法操作后,Problems面板就会同时显示两个文件里的错误啦!
内容的提问来源于stack exchange,提问作者yasd
相关产品推荐
相关产品推荐

