告诉IntelliJ IDEA哪些方法不能识别为未使用

min*_*das 56 java aop spring annotations intellij-idea

IntelliJ IDEA有一个方便的功能来检测未使用的方法并以灰色显示它们,暗示了对死代码的潜在警告.

但是,某些方法不是直接执行,而是通过反射执行.一个很好的例子@RequestMapping是由Spring执行的注释方法.IntelliJ有很好的Spring集成,因此它检测到这个注释,并没有将这样的方法标记为未使用.

我有一个小的AJAX框架,我使用自己的注释来指出基于某些HTTP请求属性执行哪个方法(非常类似于@RequestMapping正在做的).可以理解的是,IntelliJ不知道我的注释代表什么,并且将这种方法标记为未使用,增加了不必要的噪声.

我在考虑:

  • 用另一个注释注释我的注释,但有没有任何标准的注释可以毫不费力地完成工作?
  • 在IntelliJ中查找特定设置以识别用于标记方法的自定义注释,但这需要其他团队成员执行相同操作,基本上是一种痛苦.

任何人都可以提出任何想法如何解决这个问题?

Pet*_*rey 83

您可以告诉IntelliJ不要警告用于任何使用"unused"方法具有的注释注释的方法/字段.

它应该是一个快速修复,您只需按<Alt> + <Enter>并选择 Suppress for methods annotated by ...

您无需向代码添加任何内容,每次注释只需执行一次.

在此输入图像描述

  • 我不小心为"用xx注释的字段"压制了这个.要撤消此操作,请在`.idea/misc.xml`文件中找到`<component name ="EntryPointsManager">`并对其进行修改(当您更改项目数时,不要忘记更新`list`属性) (3认同)
  • 不幸的是我没有这个选项,我的注释是`@WebMethod`,我使用的是 Intellij 14.1.1 。知道为什么我没有这个选项吗? (2认同)
  • 这适用于最近的版本,就像一个魅力。IntelliJ 确实带有一些魔力。 (2认同)

Van*_*ick 44

@SuppressWarnings("unused") 应该管用.


Zar*_*tra 5

@Peter Lawrey的解决方案在我的Intellij版本(14.1.1)中没有帮助.

我用了很多方法:设置 - 编辑器 - >检查 - >未使用的声明现在有一个选项点,向下滚动Configure annotations...,你可以在那里添加注释.