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

kab*_*bar 48 java intellij-idea suppress-warnings

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

@SuppressWarnings({"UnusedDeclaration"})
Run Code Online (Sandbox Code Playgroud)

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

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

IDEA版本是10.5

Jef*_*ter 51

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

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

  • 在13.1:文件>设置.检查:声明冗余>未使用的符号.配置注释...... (7认同)
  • @BennyMcBenBen这适用于"未使用的符号",但不适用于"私有字段永不分配"检查. (3认同)
  • 工作得很好,谢谢。我的字段已经用 JAXB 的 `@XmlElement` 和 `@XmlAttribute` 注释进行了注释,所以我什至不必更改我的源! (2认同)

Jer*_*one 23

  1. 运行分析:分析>检查代码...
  2. 右键单击Unused Declaration(声明冗余树节点下面)
  3. 单击"配置注释..."
  4. 添加com.google.google.inject.Inject和javax.inject.Inject

  • 我必须:3.单击"编辑设置"4.单击"入口点"5.单击"注释...".我相信自2014年以来UI已发生变化:) (2认同)

tag*_*y22 9

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

Android Studio 1.1.0

Android Studio 1.1.0

  • 但点击"配置注释..."后我该怎么办?其他答案都不适合我. (2认同)

Ili*_*dov 5

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


Bru*_* 82 5

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

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

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

在此处输入图片说明

这适用于 IntelliJ IDEA 社区版 2018.3.3 和 2020.2