Intellij idea 在IntelliJ中使用Structural Replace更改现场保护级别
我试图使用structuralreplace将所有私有字段标记为警告,然后建议将它们替换为受保护的字段。(我知道很多人可能不同意我对保护级别的选择,但这是另一个问题) 我有以下资料:Intellij idea 在IntelliJ中使用Structural Replace更改现场保护级别,intellij-idea,structural-search,Intellij Idea,Structural Search,我试图使用structuralreplace将所有私有字段标记为警告,然后建议将它们替换为受保护的字段。(我知道很多人可能不同意我对保护级别的选择,但这是另一个问题) 我有以下资料: class $Class$ { @Modifier("private") $FieldType$ $FieldName$ = $Init$; } 在“编辑变量…”中,我检查了“字段名”中的“此变量是搜索的目标” 这会正确地突出显示标记为私有的变量。但是,更换建议完全错误: 如何修改“结构替换”设置以建议保
class $Class$ {
@Modifier("private") $FieldType$ $FieldName$ = $Init$;
}
在“编辑变量…”中,我检查了“字段名”中的“此变量是搜索的目标”
这会正确地突出显示标记为私有的变量。但是,更换建议完全错误:
如何修改“结构替换”设置以建议保护字段
更新
我已将搜索/替换字符串更改为以下内容,效果明显更好:
这允许我将诸如
private int foo=1
之类的字段定义替换为protected int foo=1
。但是,它不适用于专用静态最终int-foo=1
,它将其替换为受保护的int-foo=1
任何建议?使用分组替换正则表达式可能会更成功
SSR很挑剔-它只适用于实际格式良好的代码段。。。也许它不支持将“static”作为通配符替换?看起来删除的修饰符是Structural Search&Replace中的一个老错误。我已提交