Получение Eclipse для переноса скобок цикла for

2

Я понимаю важность краткого, четкого кода и, если это возможно, следует избегать обхода строки кода. Тем не менее, требование для этого проекта состоит в том, что никакая строка не должна выходить за столбец 80, и меня попросят использовать многословное имя переменной. Следовательно, что-то такое же простое, как в скобках для цикла, должно быть завернуто и что там, где я нахожу Eclipse, не хватает.

Не похоже, что Eclipse способен обертывать скобку цикла for или сохранять набор оберток. Например, моя инструкция инициализации, выражение и update/counter находятся в отдельных строках:

for (initialization;
  expression;
  update/counter;)
{
  //code...
}

При нажатии Ctrl + Shift + f Eclipse делает это:

for (initialization; expression; update/counter;)
{
  //code...
}

Есть ли способ заставить Eclipse сохранить это форматирование. Я создал пользовательский форматировщик Eclipse, но не могу найти никаких параметров, которые будут скопировать конец цикла for. Я видел одно сообщение, которое предложило использовать //, но это не будет работать внутри круглой скобки цикла.

  • 1
    Я думаю, что ваша компания должна наконец испытать их на этих широких экранах. :-)
  • 0
    Будет использовать ; // вместо ; Покажи фокус?
Теги:
formatting

3 ответа

2
Лучший ответ

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

Если вам действительно нужно сохранить такую ​​упаковку, вы можете вообще отключить форматировщик в этих строках? Если вы перейдете к настройкам форматирования (Window > preferences > java > code style > formatter, затем нажмите "edit..." ), затем на вкладке "Выкл./Вкл." (Появляется в Eclipse 3.6 IIRC) вы можете включить теги для отключения форматирования на определенных частях кода.

С тегами по умолчанию, которые будут давать что-то вроде:

// @formatter:off
for (initialization;
  expression;
  update/counter)
// @formatter:on
{
  //code...
}
  • 1
    Уч. Мои глаза болят ... И мои пальцы тоже были бы, если бы я попробовал это. ;-)
  • 0
    @Kos никогда не говорил, что это решение для глаз: с. Хотя эти теги off / on наверняка пригодятся, если вы попытаетесь удовлетворить самые странные требования клиента в отношении форматирования кода.
Показать ещё 1 комментарий
1

Вы также можете использовать этот способ:

for (/**/initialization;
/**/expression;
/**/update/counter;)
/**/{
  //code...
}
  • 0
    Спасибо, Велтхун. Приятно видеть альтернативы выполнению этого требования.
0

Это также работает:

for (initialization; //
expression; //
update/counter) {
  // code...
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню