由于我正在使用的库中发生更改,因此将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/