IntelliJ 社区和终极版
你会手动做:
- 转到 IntelliJ 并打开您的项目
- 按菜单栏上的分析
- 按名称运行检查...
- 输入“未使用的声明”
- 仅选择课程
- 按确定
如果要批量删除,可以选择多个条目,然后右键单击并安全删除。
这也解释了here。
为了从命令行运行与上述相同的操作并生成报告,您需要按照here 中描述的步骤操作。最后一页可能没有提供足够的信息。因此,我将总结完成这项工作所需的步骤。
要离线运行检查,您可以:
- 转到 IntelliJ 并打开您的项目
- 设置
- 编辑器
- 检查
- 从配置文件下拉列表中选择一个配置文件并克隆它,然后为其命名(例如:UnusedDeclaration)
- 接下来取消选择除 Java > 声明冗余 > 未使用的声明之外的所有内容
- 选择 Java > 声明冗余 > 未使用声明,以自定义此检查,然后取消选中所有内容并仅选择 类,以便仅检查类
- 好的
这些步骤的结果是您在项目中获得了包含所有设置的新 XML。例如,如果您将个人资料命名为“UnusedDeclaration”,那么您将获得<proj>/.idea/inspectionProfiles/UnusedDeclaration.xml。
现在关闭 IntelliJ 实例很重要,否则将无法正常工作。
转到命令提示符并键入类似于此的内容(对于 Windows 机器):
D:\>C:\Users\andre\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\171.4249.39\bin\inspect.bat D:\MyProjects\MyProject D:\MyProjects\MyProject\.idea\inspectionProfiles\UnusedDeclaration.xml D:\results
注意:这适用于 Windows 机器,但对于 Linux 或 Mac,您将使用 inspect.sh 而不是 inspect.bat。
注意:我使用Toolbox 安装IntelliJ。这很有用,因为我可以管理整个套件的安装和更新。因此,我的 IntelliJ 安装位于 C:\Users\andre\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\171.4249.39\。
通过运行前面的命令,您将获得以下行为:
- inspect.bat 使用相关的命令行参数运行
- 参数1:项目目录(例如:
D:\MyProjects\MyProject)
- 参数 2:配置文件 XML(例如:
D:\MyProjects\MyProject\.idea\inspectionProfiles\UnusedDeclaration.xml)
- 参数3:输出路径(例如:
D:\results)
因此,您将获得包含D:\results\unused.xml 下所有未使用类的报告。
IntelliJ Ultimate
以下可以手动完成,但我发现它对于您需要分析代码的使用方式非常有用,包括确定是否根本不使用类/命名空间/模块。
你可以:
- 转到 IntelliJ Ultimate 并打开您的项目
- 分析
- 分析依赖矩阵
- 好的
将出现一个具有依赖关系的矩阵。
如果一行为空(无数字),则不使用该部分。
您可以右键单击并安全删除相应的选择。
您可以 R-click > Find usages - 以查看特定部分的使用位置。
可以在here找到此功能的简要说明。
JArchitect
JArchitect 提供了许多功能,似乎是分析大型项目和确保代码质量的完整解决方案。
它可以提供类似于 IntelliJ Ultimate 的Dependency Matrix。
它还提供了一种语言CQLinq,您可以使用它来查询您的代码库。例如,确定未使用的类。此外,您还可以生成报告并创建阈值并集成到您的正常持续集成过程中。因此,例如,如果某些类未使用,您可以fail a build。
注意:有一些答案,例如 this one,其中讨论了更多用于分析依赖关系的工具。