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

Как автоматически конвертировать if-else if для переключения

Есть ли горячая клавиша или простой способ заменить оператор if-else if коммутатором в IntelliJ? Я бы предпочел не вручную преобразовывать инструкцию if-else if в коммутатор. Я ищу, чтобы иметь возможность выделить инструкцию if-else if и нажимать комбинацию клавиш или использовать кнопку меню.

4b9b3361

Ответ 1

Обновление: как отметил @christopheml в комментариях к другому ответу, "Замените, если на Switch", по-видимому, исчезло в IntelliJ 2018.1. Ошибка была подана здесь.


Существуют намерения IntelliJ с именами "Заменить If с помощью Switch" и "Заменить Switch с помощью If". Проверьте свои предпочтения, чтобы увидеть, включены ли эти опции. Если это так, я ожидаю, что вы увидите опцию быстрого исправления (Option + Enter на Mac, Alt + Enter в Windows) всякий раз, когда IntelliJ может автоматически обрабатывать преобразование из одного в другое.

Ответ 2

Я только что узнал, что вам нужно щелкнуть по первому if, дождаться появления значка лампочки, а затем выбрать Replace if with Switch.

Ответ 3

Студия Android (идея intelliJ):

Наведите курсор на инструкцию switch/if и:

mac: option + return

win: alt + enter

Ответ 4

Если он больше не предлагает замену, вероятно, потому, что отключена функция "Намерения". (Android-студия (IntelliJ))

Решение прост:

  • Файл > Настройки > Редактоp > Намерения - Поиск: "заменить переключатель"

или

  • Файл > Настройки - Поиск: "заменить переключатель" > "Редактор" > "Намерения"

и установите флажок "blank"

Ответ 5

Если выбрано if/switch в Eclipse, нажмите Ctrl + 1 или щелкните правой кнопкой мыши → Быстрое исправление, и подсказки будут всплывать.

Ответ 6

Настройки оформления заказа enter image description here

  • Минимальное количество ветвей условий if: 3
  • Предлагать только для нулевых выражений

Ответ 7

  1. Выберите, дважды щелкнув по ключевому слову переключателя
  2. Появится лампочка левого предложения.
  3. Нажмите на предложение, чтобы заменить переключатель, если еще.

Это работает на андроид студии. Это сработало в моем случае