我正在尝试根据“结构搜索和替换”功能创建检查。因此,我需要创建搜索模板来查找Java代码中所有不赞成使用的类的用法,但我不知道该怎么做。
我尝试设置:
Search template: $Symbol$
Filters for $Symbol$: reference=annotated classes; script=com.intellij.psi.impl.PsiImplUtil.isDeprecated(Symbol)
但这不起作用(找不到不推荐使用的类的用法)
例如,我们弃用了A类:
@Deprecated
public class A {}
该类在B类中的用法:
@RunWith(A.class)
public class B {}
答案 0 :(得分:2)
您可以为此任务创建两个搜索模板:第一,用于弃用的类的搜索模板,第二,用于弃用的类参考的搜索模板。
<searchConfiguration name="deprecated class" text="@Deprecated class $C$ {} " recursive="true" caseInsensitive="true" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="C" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="reference to deprecated class" text="$ref$" recursive="true" caseInsensitive="true" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="ref" reference="deprecated class" within="" contains="" />
</searchConfiguration>
顺便说一句,我们检查了具有相似功能的不赞成使用API (Java |代码成熟度|不赞成使用API)。