使用Intellij Structural Search和Replace来更改声明类型

时间:2016-05-03 23:43:26

标签: intellij-idea refactoring intellij-14 intellij-13 intellij-15

任何IDE向导都在闲逛?

我想做一些看似简单的事情,结果很难:我想用另一种类型的变量声明替换一种类型的所有变量声明

例如:

Foo x; ==> Bar x;
protected final Foo x; ==> protected final Bar x;
public abstract Foo = Foo() + 7; ==> public abstract Bar = Foo() + 7;

我认为这一定是可能的,但我不能,因为我的生活,弄清楚如何。我可以接近,但我拖延了以下问题:

  1. 如何在public变量声明之前修改finalFoo之类的“修饰符”,或者捕获它们以便我可以确保它们不要迷路吗?
  2. 如何替换第3个例子中等号的右侧?

1 个答案:

答案 0 :(得分:0)

结构搜索&替换应该工作。

搜索模式:

Foo $a$ = $b$;

替换模式:

Bar $a$ = $b$;

点击Edit Variables,将Minimum count的{​​{1}}设置为0,将b设置为Maximum count。修改器应自动保存。