2016-07-18 156 views
5

Supponiamo Class A con alcuni parametri statici:Come spostare variabili statiche da una classe a un'altra classe durante il refactoring in IntelliJ o Android Studio?

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

I parametri statici sono utilizzati ripetutamente nel progetto. Quando refactoring, voglio spostarli in un'altra classe, ad esempio Class B; ma così facendo devo aggiornare ogni caso d'uso, ad es. A.KEY_1 a B.KEY_2, manualmente.

C'è un modo per farlo automaticamente in Android Studio o IntelliJ? Quello che ho già provato è selezionare le linee che contengono i parametri e premere F6 che apre una finestra di refactoring, ma attraversarla non mi porta a ciò che voglio.

risposta

7

IntelliJ è davvero bravo nel refactoring. Posizionare il cursore sulla costante che si desidera spostare e procedere come segue:

  1. Refactor -> Move (con i vincoli dei caratteri di default, questo può anche essere fatto premendo F6 ).
  2. Avrai una finestra di dialogo che ti chiederà il nome completo della classe in cui vuoi spostarlo (non preoccuparti - inizia a digitare e IntelliJ si completerà automaticamente) e un menu per scegliere la visibilità che hai modificato voglio assegnare alla variabile/costante.
  3. Fare clic sul pulsante "refactoring"
  4. Godetevi
+1

Grazie! Il trucco consisteva nel posizionare il cursore sul parametro che voglio refactare piuttosto che selezionare la sua intera linea. –