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


существует ли CTRL + space-подобный способ "автоматического построения" случая переключения вокруг данного перечисления Java в Eclipse? Я бы хотел заглушку со всеми перечислениями случаев...

3 54

3 ответа:

Он был в затмении в течение многих веков. Это правда, только немного трудно найти. Сначала начните с

switch (myEnum) {

}

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

alt text

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


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

enter image description here

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

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
}

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

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

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