intellij-idea - 使用IntelliJ结构搜索功能将 setter/getter 替换为属性并替换

标签 intellij-idea intellij-13 structural-search

由于我正在使用的库中发生更改,因此将getter替换为对属性的直接访问。例如:

public class MyLibraryClass {
  private String field;

  public String getField() { return field; }
}

已经成为
public class MyLibraryClass {
  public String field;
}

因此,我想使用IntelliJ的SSR将getter调用替换为Bean属性。但是,我一直陷在如何使用正则表达式捕获组进行替换的问题上。如果还有另一个IntelliJ快捷方式可以执行我想要的操作,那么我很乐意使用它。

以下SSR搜索参数找到了 setter/getter ,但我似乎无法在替换中将捕获组用于$property$。我已经尝试过\1\$1$1参见(using backreferences in IntelliJ)

我还尝试将搜索更改为$instance$.get$property$()(清除了$property$的约束,但搜索未返回任何结果。
  • 如何访问捕获组($1)
  • 是否可以在替换之前对$1进行任何处理(以解决问题)

  • 我注意到Script text选项接受Groovy代码,但是我找不到关于此功能的任何文档。

    最佳答案

    放入替换模板$instance$.$field$。该模板引入了新的field变量,其中应包含以下脚本文本:

    String name = property.methodExpression.referenceName.substring(3)
    name[0].toLowerCase() + name.substring(1) 
    

    关于intellij-idea - 使用IntelliJ结构搜索功能将 setter/getter 替换为属性并替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24073699/

    相关文章:

    intellij-idea - 如何手动安装 IntelliJ IDEA 补丁更新?

    java - IntelliJ IDEA 结构搜索

    java - Intellij 结构搜索 : How to find empty try catch blocks?

    intellij-idea - 在 Cursive 中运行 Clojure 项目

    intellij-idea - 如何通过 JetBrains Toolbox 的 Web 链接导航或创建类

    java - 编辑器行号之间的空格 intellij

    java - 如何使用 IDEA 的结构搜索来查找缺少某些注释的字段?

    java - IntelliJ 错误地划分 JUnit 4 输出

    Intellij IDEA 中的 Java 预处理支持