Подтвердить что ты не робот

Eclipse: автозавершение Java Enum для корпуса коммутатора

Есть ли способ CTRL + в пространстве "автоконструировать" случай переключения вокруг данного Java Enum в Eclipse? Мне нужен заглушка со всеми делами Enum...

4b9b3361

Ответ 1

Он был в Eclipse целую вечность. Это, по общему признанию, немного сложно найти. Сначала начните с

switch (myEnum) {

}

В этот момент ваш курсор обычно находится внутри блока операторов {}. Вам нужно вернуть свой cusror в строку с помощью ключевого слова switch и нажать Ctrl + 1 и выбрать Добавить отсутствующие операторы case. Таким образом, он будет вставлять любые возможные case.

alt text

Вы интуитивно ожидали, что этот параметр будет доступен внутри блока операторов {}, но нет.


Обновить: поскольку Eclipse Kepler (или, возможно, уже Juno, но он настолько нестабилен, что я никогда не использовал его), этот параметр, наконец, доступен через Ctrl + 1 внутри блока операторов также.

enter image description here

Ответ 2

Я не знаю, возможно ли это сделать как шаблон, потому что шаблон должен знать, какой тип перечисления вы использовали. Но вы можете написать немного script, чтобы распечатать выражение для вас, а затем просто скопировать его вывод в исходный файл.

public class SwitchWriter {
  public static void printSwitchStatement(String varName, Class<?> E) {
    System.out.format("switch(%s) {\n", varName);
    for (Object o : E.getEnumConstants()) {
      System.out.format("case %s:\n  // TODO: Auto-generated switch statement stub\n  break;\n", o);
    }
    System.out.println("default:\n  // TODO: Auto-generated switch statement stub\n}");
  }
}

Вывод SwitchWriter.printSwitchStatement("action", java.awt.Desktop.Action.class):

switch(action) {
case OPEN:
  // TODO: Auto-generated switch statement stub
  break;
case EDIT:
  // TODO: Auto-generated switch statement stub
  break;
case PRINT:
  // TODO: Auto-generated switch statement stub
  break;
case MAIL:
  // TODO: Auto-generated switch statement stub
  break;
case BROWSE:
  // TODO: Auto-generated switch statement stub
  break;
default:
  // TODO: Auto-generated switch statement stub
}

Ответ 3

Вы можете добавить свои собственные шаблоны кода, используя: Windows- > Preferences- > Java- > Editor- > Templates.

Как только вы добавили шаблон кода, введите достаточно символов имени шаблона, чтобы сделать его уникальным; тип CTRL + пробел; и ваш определенный код заменит символы имени шаблона.

Шаблон для переключателя предопределен в Eclipse Galileo. sw + CTRL + Пробел должен дать вам оператор switch. Возможно, вам придется адаптировать существующий шаблон, чтобы дать вам комбинацию переключателей.