我正在尝试在 IntelliJ IDEA 中找出一个结构替换模板( future 检查),用于将缺失的注释添加到类/接口(interface)/枚举中,而不删除任何其他现有注释。
到目前为止我尝试了以下几种
搜索模板:
@$OtherPossibleAnnotation$ // min: 0, max: 0, text/regexp: AnnotationName, invert condition: true
@$MissingAnnotation$ // min: 0, max: 0, text/regexp: AnnotationName
class $C$ {
$Content$ // min: 0, max: unlimited
}
替换模板:
@$OtherPossibleAnnotation$
@AnnotationName
class $C$ {
$Content$
}
但是我的尝试都没有成功。 我希望它能发挥作用
- 使用任何一组现有的类注释,并且还必须保留其潜在值,
- 如果类上根本没有注释,
- 在想法 14 和想法 15 中,
- 还应保持类(class)内容不变。
例如以下
@ProductArea("Area A")
class A {
public void method1() {
System.out.println("Should remain");
}
}
应替换为
@ProductArea("Area A")
@AnnotationName
class A {
public void method1() {
System.out.println("Should remain");
}
}
有人可以建议一下吗?
最佳答案
以下内容适用于我的 IntelliJ IDEA 2019.3 EAP。
搜索模板:@$MissingAnnotation$ // count=[0,0], text=AnnotationName
class $C$ {
}
替换模板
@AnnotationName
class $C$ {
}
这将保留现有注释和类内容,但仅在使用 IntelliJ IDEA 2019.3 EAP 时
要保存一些手动编辑,请将以下内容复制到剪贴板,然后使用“结构搜索”对话框中齿轮菜单下的“从剪贴板导入模板”:
<replaceConfiguration name="method calls" text="@$MissingAnnotation$ class $C$ { }" recursive="false" caseInsensitive="true" type="JAVA" pattern_context="default" reformatAccordingToStyle="false" shortenFQN="true" replacement="@AnnotationName class $C$ { }">
<constraint name="__context__" within="" contains="" />
<constraint name="MissingAnnotation" regexp="AnnotationName" minCount="0" maxCount="0" within="" contains="" />
<constraint name="C" within="" contains="" />
</replaceConfiguration>
关于java - 如何在 IDEA 中创建结构替换以向类添加缺少的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33740194/