9

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

public class MyLibraryClass {
  private String field;

  public String getField() { return field; }
}

已经成为

public class MyLibraryClass {
  public String field;
}

因此,我想使用 IntelliJ 的 SSR 将 getter 调用替换为 Bean 属性。但是,我一直坚持如何使用正则表达式捕获组进行替换。如果有另一个 IntelliJ 快捷方式来做我想做的事,我很乐意使用它。

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

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

  1. 如何访问捕获组 ( $1)
  2. 是否可以在替换之前执行任何处理$1(修复案例)

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

SSR 搜索模板 实例变量配置 属性变量配置

4

1 回答 1

7

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

String name = property.methodExpression.referenceName.substring(3)
name[0].toLowerCase() + name.substring(1) 
于 2014-06-11T21:23:50.823 回答