如何使用IDEA的结构搜索来查找错过某些注释的字段?

时间:2014-02-12 11:58:27

标签: java intellij-idea annotations structural-search

我的课程AB如下所示:

public class A {
}

import org.hibernate.annotations.Formula;
import javax.persistence.Column;

public class B extends A {
    @Formula("formula")
    private String formula;

    @Column(name = "col1")
    @Formula("formula")
    private String field;
}

我需要查找没有注释@Column的字段 我不能使用纯正则表达式,因为我只需要查看层次结构中具有class A的类。

我从搜索开始

class $Class$ extends $superClass$ {
    @$annotation$
    private String $field$;
}

其中$annotation$是“列”(“反转条件”=真,“只有整个单词”=真),但它匹配字段的formula注释@Formula

注释名称只是一个例子(这种情况不是IDEA中某些检查可以涵盖的常见问题)。

也许你有想法如何做到这一点?

1 个答案:

答案 0 :(得分:4)

$annotation$变量的约束更改为:

  • 反转条件:false
  • 仅限全文:false
  • 最低人数:0
  • 最大数量:0

&#34;反转条件&#34;像布尔值一样工作。启用时,它匹配的名称与指定的模式不同。在你的情况下&#34; Formula&#34;确实不喜欢&#34; Column&#34;和比赛。通过将最小和最大计数设置为零,您可以告诉结构搜索您正在搜索具有名称&#34;列&#34;的注释为零的字段,它可以获得您想要的结果。< / p>