imp*_*nte 9 java annotations replace intellij-idea structural-search
我试图在IntelliJ IDEA(未来检查)中找出一个结构替换模板,用于在不删除任何其他现有注释的情况下向类/接口/枚举添加缺少的注释.
到目前为止,我尝试了几种以下的品种
搜索模板:
@$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
}
Run Code Online (Sandbox Code Playgroud)
替换模板:
@$OtherPossibleAnnotation$
@AnnotationName
class $C$ {
$Content$
}
Run Code Online (Sandbox Code Playgroud)
但我的尝试都没有奏效.我希望它能起作用
所以例如以下
@ProductArea("Area A")
class A {
public void method1() {
System.out.println("Should remain");
}
}
Run Code Online (Sandbox Code Playgroud)
应该换成
@ProductArea("Area A")
@AnnotationName
class A {
public void method1() {
System.out.println("Should remain");
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以建议吗?
以下内容适用于我的 IntelliJ IDEA 2019.3 EAP。
搜索模板:@$MissingAnnotation$ // count=[0,0], text=AnnotationName
class $C$ {
}
Run Code Online (Sandbox Code Playgroud)
替换模板
@AnnotationName
class $C$ {
}
Run Code Online (Sandbox Code Playgroud)
这将保留现有注释和类内容,但仅限于使用 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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |