Intellij idea 用IntelliJ Structural Search和Replace替换具有属性的getter
由于我正在使用的库发生了更改,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属性。然而,我一直被困在如何使
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!绝对出色!对于那些寻求更多结构更换示例的人: