如何在intellij结构搜索中否定搜索

how to negate search in intellij structural search

如何从 intellij 的结构搜索中排除术语? (不是文本或正则表达式搜索!)

例如,使用带注释的字段模板,假设我想将 @Lazy 添加到所有出现的 @Autowired 类型 X?

也就是说我要匹配:

@Autowired
private X x;

以及

@Autowired
@Getter
Private X x;

但不是

@Lazy
@Autowired
Private X x;

我从手册中了解到如何通过向元素添加条件 text=... 来进行正匹配,但不知道如何添加负匹配。

编辑1: 正则表达式不是答案的原因(如评论中所建议的),是因为结构搜索匹配我正在搜索的注释和字段之间的不同注释之类的东西,它也匹配字段上的任何访问前缀,等等。

如果我从结构化搜索转向 regex/text 搜索 find/replace,那么我将遇到许多其他问题。

使用文本过滤器 Lazy 和计数过滤器 [0,0] 向搜索模板添加 @$Lazy$ 注释。这只会找到没有 @Lazy 注释的元素。