如何使用IntelliJ IDEA查找所有未使用的代码?

409

当我在一个.java文件中时,未使用的代码通常会变灰或者有一个绿色的下划线,表示这段代码可能会被未使用(因为某些奇怪的JNI/Reflection角落情况)。但是我有一个项目有数千个Java文件,我想找到所有这种可能未使用的代码。我该如何在IntelliJ IDEA中实现呢?


12
给出的答案是正确的,但可惜的是没有一种方法可以获取项目中所有未使用/死代码,并有一个按钮将其全部删除。那将会很有帮助! - Snicolas
2
@Snicolas 在检查结果上右键(声明冗余→未使用的声明)并选择“安全删除”。 - OrangeDog
或者如果您想要按钮,左侧工具栏中有一个灯泡。 - OrangeDog
2
你可以在 https://dev59.com/ImEh5IYBdhLWcg3wWySr#38244028 上查看我的答案。在那里,你可以找到如何过滤结果以仅查看你真正想要的内容。 - BlondCode
有没有办法在拉取请求中自动化IntelliJ的未使用代码检测机制?当创建拉取请求时,它将扫描该PR中的文件,并显示未使用的代码。 - ersegun
4个回答

591

只需使用启用了适当检查的Analyze | Inspect Code(在声明冗余组下的未使用声明)即可。

使用 IntelliJ 11 CE,您现在可以使用“Analyze | Run Inspection by Name ... | Unused declaration”。


仅供以后读者参考:至少在 IDEA 12.1.6 版本中,它确实位于“分析”-->“检查代码”下面。 - ZAD-Man
29
这会显示未使用的字段和方法,有没有办法只显示未使用的类? - Ben Clayton
22
我的建议是:在 IntelliJ 2016.3.4 中,该选项位于“分析”>“按名称运行检查”下。如果您正在处理大型项目并且要对整个项目运行该功能,建议您在午餐前或工作日结束时运行,因为可能需要1小时以上才能完成。或者,您可以在工作时间运行它,并告诉老板您正在运行分析工具......这样您就可以免费休息一下了! :) - Almir Campos
3
@BenClayton 和其他人,只是在寻找未使用的类....https://dev59.com/ImEh5IYBdhLWcg3wWySr#38244028 - joecizac
5
如果你想在一个Kotlin项目中找到未被使用的方法,运行Unused symbol检查。似乎Unused declaration只适用于Java项目。 - MrPowerGamerBR
显示剩余2条评论

126

在较新版本的IntelliJ中,它位于代码 -> 分析代码 -> 按名称运行检查

在此之前的IntelliJ版本中,您应该从分析 -> 按名称运行检查运行它:

输入图像描述

然后,选择未使用的声明

输入图像描述

最后,取消选中 包括测试源代码

输入图像描述


7
在较新版本的IntelliJ中,该选项位于“代码 | 分析代码 | 按名称运行检查”下。 - Grzegorz Oledzki

4

运行"按名称检查"后,选择所有位置,利用 "应用全部快速修复" 下拉菜单,并使用 "删除未使用的参数" 和/或 "安全删除" 中的一个或两个选项。

不要忘记之后点击 "进行重构"

由于重新构建的代码可能会显示更多未使用声明,因此您需要运行另一个分析。

应用全部快速修复


4
一张图片胜过千言万语!IntelliJ IDEA 2022.x.x
  • 进入代码标签页,分析代码页面,并通过名称运行检查

navigation

  • 选择您需要的内容

settings


截至今日(WebStorm Giraffe),尚无检查选项部分。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接