web-dev-qa-db-fra.com

comment déplacer (haut / bas) les lignes de code dans Android studio?

Dans Eclipse, nous utilisons Alt + / pour déplacer la ligne vers le haut ou vers le bas.

Existe-t-il un raccourci dans Android studio fait de même? Ou un moyen rapide d'éviter le copier-coller?

56
sajad

Pour déplacer une ligne:

Placez le curseur sur la ligne à déplacer.

Effectuez l'une des actions suivantes:

Dans le menu principal, choisissez Code | Move Line Up or Code | Move Line Down.

Presse Shift+Alt+Up ou Shift+Alt+Down.

108
IngoAlbers

Si vous voulez le comportement exact d'Eclipse, vous pouvez le faire:

Fichier -> Paramètres -> Keymap -> Code -> Pliage -> attribuer Alt+/ à "Déplacer la ligne vers le haut/bas" au lieu de "Déplacer la déclaration vers le haut/bas"

7
Milad Faridnia

Il existe (au moins) deux types de Déplacement de ligne vers le haut/vers le bas dans Android Studio: celui "intelligent" et celui "stupide". Comme l'a dit IngoAlbers, le muet (Shift+Alt+<Arrow>) déplace simplement la ligne.

En utilisant Ctrl+Shift+<Arrow> au lieu de cela, rend la fonctionnalité plus intelligente:

  • Il ne quitte pas le "contexte" actuel:

    public static void test() {
        int i = 5;
        Runnable theodor = new Runnable() {
            public void run() {
                System.out.println("Hi!");
            }
        };
    }
    

    Déplacer la ligne int i = 5; D'une étape vous apporte ceci:

    public static void test() {
        Runnable theodor = new Runnable() {
            public void run() {
                System.out.println("Hi!");
            }
        };
        int i = 5;
    }
    
  • Il garde les méthodes ensemble:

    public static void hello() {
        System.out.println("Hello!");
    }
    
    public static void dinner() {
        System.out.println("Dinner's ready!");
    }
    
    public static void sleep() {
        System.out.println("Good night.");
    }
    

    Déplacer la ligne public static void sleep() { d'une étape vers le haut déplace la méthode complète sleep() au-dessus de dinner():

    public static void hello() {
        System.out.println("Hello!");
    }
    
    public static void sleep() {
        System.out.println("Good night.");
    }
    
    public static void dinner() {
        System.out.println("Dinner's ready!");
    }
    
  • Dans la plupart des cas, c'est juste ennuyeux. ;-)

0
Bowi