Intellij idea 用IntelliJ Structural Search和Replace替换具有属性的getter

Intellij idea 用IntelliJ Structural Search和Replace替换具有属性的getter,intellij-idea,intellij-13,structural-search,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属性。然而,我一直被困在如何使

由于我正在使用的库发生了更改,getter被替换为直接访问该属性。例如:

public class MyLibraryClass {
  private String field;

  public String getField() { return field; }
}
变成

public class MyLibraryClass {
  public String field;
}
因此,我希望使用IntelliJ的SSR将getter调用替换为Bean属性。然而,我一直被困在如何使用regexp捕获组来替代我。如果有其他IntelliJ快捷方式来做我想做的事情,我很乐意使用它

下面的SSR搜索参数找到了getter,但我似乎无法在替换中使用
$property$
的捕获组。我试过
\1
\$1
$1
参见()

我还尝试将搜索更改为
$instance$.get$property$()
(清除
$property$
的约束),但搜索没有返回任何结果

  • 如何访问捕获组(
    $1
  • 是否可以在替换之前对
    $1
    执行任何处理(以修复案例)
  • 我注意到
    脚本文本
    选项接受Groovy代码,但是我找不到关于此功能的任何文档


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

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

    Geweldige@bas leijdekkers!绝对出色!对于那些寻求更多结构更换示例的人: