IntelliJ 禁止显示 API 方法的未使用警告

2022-09-01 15:44:06

我最近从Eclipse切换到IntelliJ IDEA,我真的很喜欢检查员,发现他们用警告标记潜在的错误对我来说非常有用。我遇到了一个我无法解决的问题:

我有一些Java项目在其他项目中用作API,因此它包含未使用的方法,这些方法被标记为:未使用警告

如何为 API 方法禁止此操作?是否有替代 方法,因为这还会禁止显示有关方法中未使用警告的警告,并且不会向读者清楚地表明此方法是为 API 使用而设计的,而不仅仅是不在当前项目中使用?@SuppressWarnings("unused")


答案 1

@Sebastian的建议是让你的类实现一个接口,从一个好的设计角度来看,这可能是解决这个问题的最佳方法。但是,当这不切实际时,还有另一种选择...

“未使用的声明”检查允许您配置要忽略的“入口点”(即公共外部 API)。作为其中的一部分,您可以配置“注释”。使用配置的注释注释的任何内容都被视为入口点。

Unused declaration Inspection Settings

只需将检查配置为使用注释公共 API 方法的注释,可以是库中的注释(如 @API Guardian(由一些开源项目如 JUnit 5 使用)或您创建的注释。使用库当然会让项目之间的事情变得更容易和一致。在下面的示例中,我使用了我创建的注释。请注意,该方法突出显示为未使用。但是 String 仍然突出显示为未使用,这是您想要的:@PublicApifoo

Code sample screenshot with annotation

作为打开“设置”对话框的替代方法,并限制对编程的影响,还可以使用“快速修复意图”将所需的批注添加到“未使用的声明”设置中。使用所需的注释进行注释后,将光标放在突出显示的未使用的方法(或类)名称上,然后通过+或(或通过单击灯泡图标Quick Fix Icon)调用“意图操作和快速修复”弹出窗口,然后选择“对于由'{注释}'注释的方法,取消显示:AltEnter

Quick Fix Screenshot


答案 2

为类编写一个接口。实现接口方法的方法不会标记为未使用。相反,接口中未使用的方法被标记为未使用,但在这里您可以安全地使用,因为您没有方法体。您甚至可以在整个界面上方写入。@SuppressWarnings("unused")@SuppressWarnings("unused")


推荐