显示使用自定义注释注释的方法/构造函数的警告?

nul*_*dev 5 java annotations intellij-idea structural-search

我有一个使用 ORM 解决方案的应用程序,该解决方案要求将默认构造函数保留在类中。为了防止我意外使用这个默认构造函数,我想用警告来突出显示它的任何用法。

我目前正在使用“@DoNotUse”之类的自定义注释来注释它,但我不知道如何让 Intellij 用警告来标记其用法。

我不相信结构搜索检查可以解决这个问题。

我现在唯一的希望是插件吗?

编辑:@Deprecated由于有人显然没有阅读这个问题,我并不是在寻找导致代码中的语句被标记为警告的原因,我正在寻找一种使用其他自定义注释复制此效果的方法。

Bas*_*ers 2

实际上,使用结构搜索可以实现这一点。然而它需要了解 IntelliJ IDEA 的内部结构,所以很难弄清楚。

使用以下模式:

new $Constructor$();
Run Code Online (Sandbox Code Playgroud)

单击Edit Variables...并将 的 设置Script TextConstructor

import com.intellij.codeInsight.AnnotationUtil
def method = __context__.parent.resolveMethod()
AnnotationUtil.findAnnotation(method, "fully.qualified.annotation.DoNotUse") != null
Run Code Online (Sandbox Code Playgroud)

这应该找到默认构造函数的所有调用,其中构造函数用 注释fully.qualified.annotation.DoNotUse。让它工作后,使用该模式创建结构搜索检查。