Я плохо знаком с Eclipse, который я использую, прежде всего, для Java. Я ранее использовал Идею IntelliJ, в которой возможно выбрать переменную, которая расширяет Iteratable (Набор, Список и т.д.), и имейте его, производят корректный цикл foreach.
Я знаю, что Eclipse делает что-то похожее с шаблоном foreach, где это предполагает, какой переменной выполнить итерации, но я не могу получить его к тому же самому с выбранной переменной. Но что, если переменная не находится в текущей области и что, если Eclipse не угадывает?
Таким образом, то, что я пытаюсь сделать, является способностью выбрать переменную (или функция, которая возвращает переменную), который реализует Итератор, и имейте его возврат:
Выбор:
functionWhichReturnsList() (which returns List<TypeOfItemsInList>)
Результат:
for (TypeOfItemsInList item : functionWhichReturnsList()) {
${cursor}
}
Какие-либо идеи?
Обычно я создаю такой код, выполнив следующие действия:
Вызов функции и использование Ctrl-1 для создания локальной переменной, содержащей возвращаемое значение:
List<TypeOfItemsInList> list = functionWhichReturnsList()
Введите fore [Ctrl-пробел], чтобы вставить цикл for (поскольку eclipse обычно выбирает ближайшую итерацию при построении цикла):
List<TypeOfItemsInList> list = functionWhichReturnsList()
for (TypeOfItemsInList item : list) {
}
Вставьте локальную переменную, поместив курсор в переменную списка и набрав Alt + Shift + I:
for (TypeOfItemsInList item : functionWhichReturnsList()) {
}
Это не оптимально, но работает.
Вы, вероятно, не можете сделать это в затмении, но введите для
и дважды нажмите Ctrl-Space
, чтобы увидеть всплывающее меню шаблонов кода. Затем вы можете выбрать functionWhichReturnsList ()
в нужном месте, а все остальное сделает eclipse.
Насколько мне известно, Eclipse не поддерживает это так, как вы описываете.
Если Eclipse не находит нужную переменную, вы можете использовать клавишу табулятора для перебора заполнителей в шаблоне foreach. В итерируемой точке затмение покажет вам список итераций, из которых вы можете выбрать.