由于我正在使用的库中的更改,getter被替换为直接访问该属性。例如:
public class MyLibraryClass {
private String field;
public String getField() { return field; }
}
已成为
public class MyLibraryClass {
public String field;
}
因此,我想使用IntelliJ的SSR用Bean属性替换getter调用。但是我已经陷入了如何使用正则表达式捕获组进行替换的问题。如果有另一个IntelliJ快捷方式可以做我想要的,我很乐意使用它。
以下SSR搜索参数可以找到getter,但我似乎无法在替换中使用$property$
的捕获组。我已尝试\1
和\$1
以及$1
查看(using backreferences in IntelliJ)
我也尝试将搜索更改为$instance$.get$property$()
(清除$property$
的约束,但搜索未返回任何结果。
$1
)$1
执行任何处理(以解决此案)我注意到Script text
选项接受了Groovy代码,但我找不到有关此功能的任何文档。
答案 0 :(得分:6)
放入替换模板$instance$.$field$
。此模板引入了新变量field
,其中应包含以下脚本文本:
String name = property.methodExpression.referenceName.substring(3)
name[0].toLowerCase() + name.substring(1)