动机:每个类/接口/注释/枚举都必须由@SomeAnnotation注释。但是我们希望这个注释只能在顶级类而不是内部类。
目标是创建一个结构检查,警告开发人员忘记注释类。 如何指定结构搜索/替换以找到缺少@SomeAnnotation的所有顶级结构?
答案 0 :(得分:1)
这样的事情应该有效:
@$Annotation$ // min: 0, max: 0, text/regexp: SomeAnnotation
class $C$ {} // min: 1, max: 1
// Complete Match - Script text:
if (C instanceof com.intellij.psi.PsiIdentifier) C = C.parent
C.containingClass == null
IntelliJ IDEA 14需要脚本的第一行。脚本中的C引用模式中的$ C $。