如何获取 IntelliJ 警告的@SuppressWarnings警告名称?

IntelliJ错误地告诉我,字段初始值设定项是多余的,但实际上它被龙目岛的.@Builder.Default

我想使用来抑制此警告,但我不知道警告叫什么(alt-enter也没有给我抑制的选项)。如何在 IntelliJ 中找到警告的名称?@SuppressWarnings


答案 1

通过将光标放在警告上并按+,它应该会打开一个菜单。在此菜单中,应该有一个用于删除该字段的选项。导航到此选项,然后按 。这将打开一个子菜单,其中包含禁止警告的选项。通过这样做,IntelliJ将生成适当的注释。AltEnter

在您的情况下,注释可能应沿 或 行。@SuppressWarnings("unused")@SuppressWarnings("UnusedAssignment")


答案 2

对于如何禁止显示未使用的方法或成员,这里似乎还有另一个答案,那就是 添加注释 。或者,如果要禁止显示局部变量,则必须插入行注释 ,例如@SuppressWarnings("unused")// noinspection unused

// noinspection unused
long int i = 0;

为了回答你的问题,“我如何在Intellij中找到警告的名称?”,我找到了一个来自James Roper的网页,他列出了所有Intellij警告关键字以及一个简短的定义。https://jazzy.id.au/2008/10/30/list_of_suppresswarnings_arguments.html

例如,我所追求的是

冗余局部变量 = 不必要的局部变量

Roper页面中的该列表仅涵盖了JetBrains发明的特殊警告。您需要的警告“未使用”已经存在了很长时间,并且早于IntelliJ。有些是java编译器的一部分。对于javac警告的列表,我从 https://javarevisited.blogspot.com/2015/09/what-is-suppresswarnings-annotation-in-java-unchecked-raw-serial.html 中发现您可以运行。对于Java 1.8,我发现javac -X

all,auxiliaryclass,cast,classfile,deprecation,dep-ann,divzero,empty,fallthrough,finally,options,overloads,overrides,path,processing,rawtypes,serial,static,try,unchecked,varargs

这仍然没有导致我们.该警告来自Eclipse,也得到了Intellij的支持。有关 Eclipse 警告的列表,请参阅 https://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-suppress_warnings.htmunusedunused

该页面包含

  • all = 禁止显示所有警告
  • 装箱 = 禁止显示与装箱/取消装箱操作相关的警告
  • cast = 禁止显示相对于强制转换操作的警告
  • dep-ann = 禁止显示相对于已弃用注释的警告
  • 弃用 = 禁止显示与弃用相关的警告
  • fallthrough = 禁止显示与 switch 语句中缺少的断点相关的警告
  • finally = 相对于不返回的 final 块来抑制警告
  • hiding = 禁止显示相对于隐藏变量的局部变量的警告
  • 不完整开关 = 禁止显示与开关语句中缺少的条目相关的警告(枚举大小写)
  • javadoc = 禁止显示相对于 javadoc 警告的警告
  • nls = 禁止显示相对于非 nls 字符串文本的警告
  • null = 禁止显示相对于空分析的警告
  • 原始类型 = 禁止显示相对于原始类型使用情况的警告
  • resource = 禁止显示与 Closeable 类型的资源的使用相关的警告
  • 限制 = 禁止显示与使用不鼓励或禁止的引用相关的警告
  • 串行 = 禁止显示与可序列化类的缺少串行版本 UID 字段相关的警告
  • 静态访问 = 禁止显示与不正确的静态访问相关的警告
  • static-method = 禁止显示相对于可声明为静态的方法的警告
  • super = 禁止显示相对于在没有超级调用的情况下重写方法的警告
  • 综合访问 = 禁止显示与来自内部类的未优化访问相关的警告
  • sync-override = 在重写同步方法时由于缺少同步而禁止显示警告
  • 未选中 = 禁止显示与未选中操作相关的警告
  • 非限定字段访问 = 禁止显示与字段访问不限定相关的警告
  • 未使用 = 禁止显示与未使用的代码和死代码相关的警告

推荐