IDEA использует Postfix Completion для ускорения кода

Java IntelliJ IDEA
IDEA использует Postfix Completion для ускорения кода

Учебная комната Cabbage Java охватывает основные знания

1. Отображение сценария

Поскольку вы занимаетесь разработкой Java, редактор IDEA незаменим. В редакторе IDEA есть много эффективных функций завершения кода, особенно функция Postfix Completion, которая может сделать написание кода более плавным.

Постфиксное завершение — это, по сути, завершение кода, оно более свободно в использовании, чем живые шаблоны, мы можем посмотреть на картинку ниже.

2. Настройка интерфейса

Чтобы открыть интерфейс настроек Postfix и включить Postfix, можно использовать следующие методы.

3. Общие шаблоны Postfix

3.1 шаблон логической переменной

!: Negates boolean expression

//before
public class Foo {
     void m(boolean b) {
         m(b!);
     }
 }
 
//after
public class Foo {
    void m(boolean b) {
        m(!b);
    }
}

if: Checks boolean expression to be 'true'

//before
public class Foo {
    void m(boolean b) {
        b.if
    }
}

//after
public class Foo {
    void m(boolean b) {
        if (b) {

        }
    }
}

else: Checks boolean expression to be 'false'.

//before
public class Foo {
    void m(boolean b) {
        b.else
    }
}

//after
public class Foo {
    void m(boolean b) {
        if (!b) {

        }
    }
}

3.2 Шаблон переменной массива

for: Iterates over enumerable collection.

//before
public class Foo {
    void m() {
        int[] values = {1, 2, 3};
        values.for
    }
}

//after
public class Foo {
    void m() {
        int[] values = {1, 2, 3};
        for (int value : values) {

        }
    }
}

fori: Iterates with index over collection.

//before
public class Foo {
    void m() {
        int foo = 100;
        foo.fori
    }
}

//after
public class Foo {
    void m() {
        int foo = 100;
        for (int i = 0; i < foo; i++) {

        }
    }
}

3.3 Базовые шаблоны типов

opt: Creates Optional object.

//before
public void m(int intValue, double doubleValue, long longValue, Object objValue) {
  intValue.opt
  doubleValue.opt
  longValue.opt
  objValue.opt
}

//after
public void m(int intValue, double doubleValue, long longValue, Object objValue) {
  OptionalInt.of(intValue)
  OptionalDouble.of(doubleValue)
  OptionalLong.of(longValue)
  Optional.ofNullable(objValue)
}

sout: Creates System.out.println call.

//before
public class Foo {
  void m(boolean b) {
    b.sout
  }
}

//after
public class Foo {
  void m(boolean b) {
      System.out.println(b);
  }
}

3.4 Шаблоны объектов

nn: Checks expression to be not-null.

//before
public class Foo {
    void m(Object o) {
        o.nn
    }
}
//after
public class Foo {
    void m(Object o) {
        if (o != null){

        }
    }
}

null: Checks expression to be null.

//before
public class Foo {
    void m(Object o) {
        o.null
    }
}
//after
public class Foo {
    void m(Object o) {
        if (o != null){

        }
    }
}

notnull: Checks expression to be not-null.

//before
public class Foo {
    void m(Object o) {
        o.notnull
    }
}
//after
public class Foo {
    void m(Object o) {
        if (o != null){

        }
    }
}

val: Introduces variable for expression.

//before
public class Foo {
    void m(Object o) {
        o instanceof String.var
    }
}

//after
public class Foo {
    void m(Object o) {
        boolean foo = o instanceof String;
    }
}

3.5 Другие шаблоны

new: Inserts new call for the class.

//before
Foo.new

//after
new Foo()

return: Returns value from containing method.

//before
public class Foo {
    String m() {
        "result".return
    }
}
//after
public class Foo {
    String m() {
        return "result";
    }
}