【问题标题】:Searching/Replace attributes with the according getter/setters用相应的 getter/setter 搜索/替换属性
【发布时间】:2019-08-14 14:24:30
【问题描述】:

问题:

拥有大量属性定义为的类 第一个字符为大写的名称。

例子:

class FirstClass {
  private Integer FirstValue;
  private Double SecondValue;
  private String ThirdValue;

  public Integer getFirstValue() {
    return FirstValue;
  }
  public Double getSecondValue() {
    return SecondValue;
  }
  public String getThirdValue() {
    return ThirdValue;
  }
  public void setFirstValue(Integer newVal) {
    FirstValue = newVal
  }
  ..
}

目前我已经设置了一个结构搜索模板,如下所示:

class $class$ {
    private $FieldType$ $Field$;

    public $FieldType$ $MethodCallGet$() {
        return $Field$;
    }

    public void $MethodCallSet$($FieldType$ $parameter$) {
        $Field$ = $parameter$;
    }
}

我已经设置了如下变量:

  • $class$: text=^(XYZ|ABC).*
  • $FieldType$: all fields of the class
  • $Field$: [A-ZÄÖÜ][a-zA-Z0-9_ÄÜÖäüÖ]+
  • $MethodCallGet$: text=^get.*
  • $MethodCallSet$: text=^set.*

所以首先它会找到第一个字符为大写的属性,但不幸的是它只会在每个类中找到一个属性,包括它的 getter/setter。

1。问题:

如何找到所有属性,包括它的 getter/setter 方法?

2。问题:

我怎样才能用它的变化对应物替换属性。改变了 第一个字符只能小写。也在 getter/setter 中?

【问题讨论】:

    标签: java intellij-idea structural-search


    【解决方案1】:

    没有使用结构搜索的好方法。您可以做的是“Java | 命名约定 | 字段命名约定”检查以查找名称不符合指定命名约定的所有实例字段,然后使用检查的快速修复来一一重命名字段。

    您可能还想投票给https://youtrack.jetbrains.com/issue/IDEA-12246

    【讨论】:

      猜你喜欢
      • 2014-07-27
      • 2011-01-17
      • 1970-01-01
      • 2020-07-18
      • 2015-04-25
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多