nul*_*dev 5 java annotations intellij-idea structural-search
我有一个使用 ORM 解决方案的应用程序,该解决方案要求将默认构造函数保留在类中。为了防止我意外使用这个默认构造函数,我想用警告来突出显示它的任何用法。
我目前正在使用“@DoNotUse”之类的自定义注释来注释它,但我不知道如何让 Intellij 用警告来标记其用法。
我不相信结构搜索检查可以解决这个问题。
我现在唯一的希望是插件吗?
编辑:@Deprecated由于有人显然没有阅读这个问题,我并不是在寻找导致代码中的语句被标记为警告的原因,我正在寻找一种使用其他自定义注释复制此效果的方法。
实际上,使用结构搜索可以实现这一点。然而它需要了解 IntelliJ IDEA 的内部结构,所以很难弄清楚。
使用以下模式:
new $Constructor$();
Run Code Online (Sandbox Code Playgroud)
单击Edit Variables...并将 的 设置Script Text为Constructor:
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。让它工作后,使用该模式创建结构搜索检查。