IntelliJ 抑制 API 方法的未使用警告 [英] IntelliJ suppress unused warning for API methods
问题描述
我最近从 Eclipse 切换到 IntelliJ IDEA,我真的很喜欢检查员,发现他们用警告标记潜在错误对我来说非常有用.我遇到了他们无法解决的问题:
我有一些 Java 项目在其他项目中用作 API,因此它包含未使用的方法,标记如下:
只需将检查配置为使用您用来注释公共 API 方法的注释,或者来自库的注释——例如
作为打开设置"对话框的替代方法,并限制对您的编程的影响 ) 并选择Suppress for annotated by '{annotation}':
I recently switched to IntelliJ IDEA from Eclipse and I really like the inspectors and find them marking potential errors with warnings for me really useful. I ran into a problem with them that I am unable to solve:
I have some Java projects that are used as APIs in other project, therefore it contains unused methods, which are marked as such: Unused warning
How can i suppress this for the API methods? Is there an alternative to @SuppressWarnings("unused")
, since this also suppresses warnings about unused warnings inside the method and doesn't make it clear to the reader that this method is designed for API use instead of just not being used in the current project?
@Sebastian's suggestion to have your class implement an interface is probably the best way to solve this issue from a good design standpoint. But when that is impractical, there is an alternative...
The "Unused declaration" inspection allows you to configure "entry points" (i.e. a public external API) to ignore. As part of that you can configure "annotations". Anything annotated with the configured annotation is seen as an entry point.
Just configure the inspection to use an annotation that you annotate your public API methods with, either one from a library -- such as @API Guardian (used by some open source projects such as JUnit 5) -- or one you create. Using a library will of course make things easier and consistent across projects. In the below example I used a @PublicApi
annotation I created. Notice the method is not highlighted as unused. But the foo
String still is highlighted as unused, which is what you want:
As an alternative to opening the Settings dialog, and to limit the impact on your programming ) and select "Suppress for methods annotated by '{annotation}':
这篇关于IntelliJ 抑制 API 方法的未使用警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!