在IntelliJ IDEA中禁止“变量永不分配”警告

时间:2011-07-20 12:39:01

标签: java intellij-idea suppress-warnings

我们广泛使用反射来在代码中设置类字段值。这些字段在代码中访问,但除了通过反射外,它们永远不会被分配。所以IDEA显示“从未分配”警告。如果我要求IDEA取消检查,则插入

@SuppressWarnings({"UnusedDeclaration"})

但这也禁止检查是否使用该字段,这是我们不想要的。

无论如何只能禁用“未分配”检查并仅对“未使用”检查特定字段吗?

IDEA版本为10.5

6 个答案:

答案 0 :(得分:46)

您可以使用注释将其标记为注入字段。 (类似于它将如何对待@EJB)。 IntelliJ检查(至少使用版本10.5)允许您配置自己的注释以将字段标记为正在注入。

从菜单中选择Analyze,Inspect Code,然后转到未使用的声明检查,您可以配置注释。

答案 1 :(得分:22)

  1. 运行分析:分析> Inpect Code ...
  2. 右键单击Unused Declaration(声明冗余树节点下方)
  3. 点击“配置注释...”
  4. 添加com.google.google.inject.Inject和javax.inject.Inject

答案 2 :(得分:9)

要在检查代码后在Android Studio 1.1.0中配置注释,请右键单击未使用的声明 - >修改设置 - >配置注释。

Android Studio 1.1.0

Android Studio 1.1.0

答案 3 :(得分:5)

如果您弹出操作提示窗口(在Mac上为alt + Enter),则建议您禁止注入注释

答案 4 :(得分:4)

不,似乎IDEA的检查不是那么精细。即使使用基于注释的依赖项注入字段,也可以对使用@Inject注释的字段禁止相同的警告。自动警告“未使用”被禁止。

我刚尝试对该类运行FindBugs-IDEA,并且没有出现任何警告或错误。

答案 5 :(得分:0)

设置->编辑器->检查->声明冗余->未使用的声明->入口点->注释

将打开一个新的弹出窗口,分为两个不同的区域:“如果标记为,则标记为入口点”和“如果标记为,则标记字段为隐式写入”。 仅在后者中,您单击“ +”图标(添加注释类),然后选择自动装配注释(或用于依赖项注入的任何注释)。

如果您从不使用类代码中的字段,则这将禁用警告“永不分配私有字段”,但不会禁用警告“永不使用私有字段”,这是理想的行为。

这适用于IntelliJ IDEA社区版2018.3.3