IntelliJ 社区和终极版
手动你会这样做:
- 转到 IntelliJ 并打开您的项目
- 按菜单栏上的分析
- 按名称运行检查...
- 输入“未使用的声明”
- 只选择班级
- 按确定
如果要批量删除,可以选择多个条目,然后 R-Click 和安全删除。
此处也对此进行了解释。
为了从命令行运行与上述相同的操作并生成报告,您需要按照此处描述的步骤进行操作。最后一页可能没有提供足够的信息。因此,我将总结完成这项工作所需的步骤。
为了离线运行检查,您可以:
- 转到 IntelliJ 并打开您的项目
- 设置
- 编辑
- 检查
- 从配置文件下拉列表中选择一个配置文件并克隆它,然后给它一个名称(例如:UnusedDeclaration)
- 接下来取消选择除Java 之外的所有内容 > 声明冗余 > 未使用的声明
- 选择Java > Declaration redundancy > Unused declaration,以自定义此检查,然后取消选中所有内容并仅选择Classes以便仅检查类
- 好的
这些步骤的结果是您在项目中获得了包含所有设置的新 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 - 以查看特定部分的使用位置。
可以在此处找到此功能的简要说明。
建筑师
JArchitect提供了许多功能,似乎是分析大型项目和确保代码质量的完整解决方案。
它可以提供类似于 IntelliJ Ultimate的依赖矩阵。
它还提供了一种语言CQLinq,您可以使用它来查询您的代码库。例如,确定未使用的类。此外,您还可以生成报告并创建阈值并集成到您的正常持续集成过程中。因此,例如,如果某些类未使用,您可能会导致构建失败。
注意:有一些类似这样的答案,其中讨论了更多用于分析依赖关系的工具。