【问题标题】:Using Structural Replace in IntelliJ to change field protection level在 IntelliJ 中使用结构替换来更改现场保护级别
【发布时间】:2012-03-30 12:38:57
【问题描述】:

我正在尝试使用结构替换将所有私有字段标记为警告,然后建议将它们替换为受保护的字段。 (我知道很多人可能不同意我选择的保护级别,但这是一个单独的问题)

我有以下几点:

class $Class$ { 
 @Modifier("private") $FieldType$ $FieldName$ = $Init$;
}

在“编辑变量...”中,我在“字段名”中选中了“此变量是搜索的目标”。

这会正确突出标记为私有的变量。但是,替换建议是完全错误的:

如何修改我的结构替换设置以建议使字段受到保护?

更新

我已将搜索/替换字符串更改为以下内容,效果明显更好:

这使我可以将private int foo=1 等字段定义替换为protected int foo=1。但是,它不适用于 private static final int foo=1,它会用 protected int foo=1 替换它有什么建议吗?

【问题讨论】:

    标签: intellij-idea structural-search


    【解决方案1】:

    使用分组替换正则表达式可能会更成功。

    SSR 很挑剔 - 它只适用于实际格式良好的代码段......也许它不支持“静态”作为通配符替换?

    【讨论】:

      【解决方案2】:

      看起来被移除的修饰符是结构搜索和替换中的一个老错误。我已提交a bug report

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-18
        • 2011-07-24
        • 2023-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-06
        相关资源
        最近更新 更多