Использование Intellij Structural Search и Replace для изменения типов объявлений

Какие-нибудь волшебники 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, finalи т. д., предшествующий Foo объявление переменных или захват их, чтобы я мог убедиться, что они не потерялись?
  2. Как я не могу заменить правую часть знака равенства в 3-м примере?

1 ответ

Структурный поиск и замена должны работать.

Шаблон поиска:

Foo $a$ = $b$;

Замена шаблона:

Bar $a$ = $b$;

Нажмите Edit Variables и установить Minimum count из b до 0 и Maximum count в 1, Модификаторы должны быть сохранены автоматически.

Другие вопросы по тегам