java - 如何在 IDEA 中创建结构替换以向类添加缺少的注释

标签 java intellij-idea replace annotations structural-search

我正在尝试在 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$ &#10;class $C$ {&#10;}" recursive="false" caseInsensitive="true" type="JAVA" pattern_context="default" reformatAccordingToStyle="false" shortenFQN="true" replacement="@AnnotationName&#10;class $C$ {&#10;}">
  <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/

相关文章:

java - 两个骰子相加 3600 万次

java - 将 Web 元素导入 Excel 时出现空指针异常

java - IntelliJ 不显示堆栈跟踪

tags - 替换 Struts2 标签中的部分字符串

javascript - jQuery:检查数据过滤器并替换空格

jquery:查找并循环div内具有特定ID的所有跨度?

java - 实现一个 AJAX 聊天网站

java - spring加载xml文件

java - Intellij IDEA : Get notified when a Run Configuration is launched

android - IDEA 12 错误 "Cannot reload AVD list: Error parsing/tools/lib/devices.xml"?