2016-07-18 2 views
5

Пусть Class A с некоторыми статическими параметрами:Как перенести статические переменные из класса в другой класс при рефакторинге в IntelliJ или Android Studio?

public Class A { 
    public static final String KEY_1="key1" 
    public static final String KEY_2="key2" 
    ... 
} 

статические параметры повторно используются в проекте. Когда рефакторинг, я хочу переместить их в другой класс, скажем Class B; но при этом я должен обновлять каждый вариант использования, например. A.KEY_1 - B.KEY_2, вручную.

Есть ли способ сделать это автоматически в Android Studio или IntelliJ? То, что я уже пробовал, - это выбор строк, содержащих параметры, и нажатие клавиши F6, которая открывает диалог рефакторинга, но переход через него не доводит меня до того, что я хочу.

ответ

7

IntelliJ is действительно хорошо подходит для рефакторинга. Наведите курсор на константу вы хотите переместить и сделать следующее:

  1. Refactor -> Move (с ключевыми по умолчанию привязок, это также может быть сделано путем нажатия F6 ).
  2. Вы получите диалоговое окно с запросом на полное имя класса, в который вы хотите переместить его (не волнуйтесь - просто начните вводить текст, а IntelliJ будет автозаполнен для вас) и меню, чтобы выбрать измененную видимость хотите назначить переменной/константе.
  3. Нажмите кнопку "Refactor"
  4. Наслаждайтесь
+1

Спасибо! Хитрость заключалась в том, чтобы поместить каретку на параметр, который я хочу реорганизовать, а не на выбор всей его линии. –