显示使用自定义注释注释的 methods/constructor 的警告?
Show warning for usage of methods/constructor annotated with custom annotation?
我有一个使用 ORM 解决方案的应用程序,该解决方案要求将默认构造函数保留在 class 中。为了防止我意外使用这个默认构造函数,我想用警告突出显示它的任何用法。
我目前正在使用“@DoNotUse”之类的自定义注释对其进行注释,但我不知道如何让 Intellij 用警告标记其用法。
我不相信结构搜索检查可以解决这个问题。
我现在唯一的希望是插件吗?
编辑: 由于显然有人没有阅读问题,我不是在寻找 @Deprecated
导致我的代码中的语句被标记的原因带有警告,我正在寻找一种方法来使用其他自定义注释复制此效果。
实际上,这可以使用结构搜索来实现。然而,它需要了解 IntelliJ IDEA 的内部知识,所以很难理解。
使用以下模式:
new $Constructor$();
单击 Edit Variables...
并将 Constructor
的 Script Text
设置为:
import com.intellij.codeInsight.AnnotationUtil
def method = __context__.parent.resolveMethod()
AnnotationUtil.findAnnotation(method, "fully.qualified.annotation.DoNotUse") != null
这应该找到默认构造函数的所有调用,其中构造函数被注释为 fully.qualified.annotation.DoNotUse
。让它工作后,使用该模式创建结构搜索检查。
我有一个使用 ORM 解决方案的应用程序,该解决方案要求将默认构造函数保留在 class 中。为了防止我意外使用这个默认构造函数,我想用警告突出显示它的任何用法。
我目前正在使用“@DoNotUse”之类的自定义注释对其进行注释,但我不知道如何让 Intellij 用警告标记其用法。
我不相信结构搜索检查可以解决这个问题。
我现在唯一的希望是插件吗?
编辑: 由于显然有人没有阅读问题,我不是在寻找 @Deprecated
导致我的代码中的语句被标记的原因带有警告,我正在寻找一种方法来使用其他自定义注释复制此效果。
实际上,这可以使用结构搜索来实现。然而,它需要了解 IntelliJ IDEA 的内部知识,所以很难理解。
使用以下模式:
new $Constructor$();
单击 Edit Variables...
并将 Constructor
的 Script Text
设置为:
import com.intellij.codeInsight.AnnotationUtil
def method = __context__.parent.resolveMethod()
AnnotationUtil.findAnnotation(method, "fully.qualified.annotation.DoNotUse") != null
这应该找到默认构造函数的所有调用,其中构造函数被注释为 fully.qualified.annotation.DoNotUse
。让它工作后,使用该模式创建结构搜索检查。