3

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

我目前正在使用“@DoNotUse”之类的自定义注释对其进行注释,但我无法弄清楚如何让 Intellij 用警告标记其用法。

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

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

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

4

1 回答 1

2

实际上,这可以使用结构搜索来实现。但是,它需要了解 IntelliJ IDEA 的内部知识,因此很难弄清楚。

使用以下模式:

new $Constructor$();

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

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

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

于 2016-03-14T20:06:54.647 回答