2013-04-13 2 views
0

Есть ли способ предотвратить появление Eclipse новой строки перед фиксацией блока?Форматирование Eclipse. Удалите новую строку перед открытием скобки для блока

формат Eclipse, следующий код

p = new JPanel(new GridLayout(0, 1)); { 
    p.add(login); 
    p.add(password); 
} 
frame.add(p, BorderLayout.EAST); 

в

p = new JPanel(new GridLayout(0, 1)); 
{ 
    p.add(login); 
    p.add(password); 
} 
frame.add(p, BorderLayout.EAST); 
+0

Зачем вам это делать? Блок является анонимным блоком, который вообще не связан с объявлением Panel. Вы уверены, что не путаете это с кодом для обработчика, прикрепленного к панели? Это будет отформатировано по вашему желанию. – Bananeweizen

+2

Я использую анонимный блок, чтобы упростить повторное чтение. Все содержимое этого блока будет добавлено на панель и будет отступом. – NBlackout

+0

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

ответ

1

Я также использую этот техник иногда.

Я думаю, вы не сможете это сделать в Eclipse.

И я бы сказал, что это хорошо :)

Думают, p = new JPanel(new GridLayout(0, 1)); не оператор, который контролирует следующий блок и, таким образом, он не может открыть его. При чтении кода, когда мы находим }, мы интуитивно ожидаем, что/start/etc в начале, которое является синонимом {. Но есть только p = new ... Это не имеет никакого смысла - первая мысль была бы, где IF или что-то в этом роде! :)

Мы просто хотим, чтобы блок был отделен от внешнего блока - текстовым или видимым. Поэтому при прокрутке мы обнаружили начальный { в том же отступе (никаких контрольных или других заявлений раньше) - и все. Никаких других мыслей, все хорошо.

Просто измените то, как вы думаете об этом, и вам понравится { на прощанье линии.

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

+0

Благодарим за разъяснения, я согласен с вами в этом смысле. Это просто соглашение, которое я всегда использую для этого конкретного случая. Я буду думать об этом по-другому ... – NBlackout

1

Перейти к project-> свойства-> Java Коу Стиль-> Formatter-> Настройка рабочего пространства Настройки-> Edit-> Подтяжки

Изменить «Объявление анонимного класса» на «ту же строку»

+0

Все позиции брекетов определяются как «Одинаковая линия» – NBlackout

0

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

p = new JPanel(new GridLayout(0, 1)) {{ 
    add(login); 
    add(password); 
}}; 
frame.add(p, BorderLayout.EAST); 

Как вы можете видеть, вы можете совершать звонки на «добавить» без необходимости префикс их с «р.» как в: «p.add», и вам больше не нужно беспокоиться о том, что Eclipse ставит фигурные скобки в начале следующей строки, так как точка с запятой помещается в конец всего блока.

Смежные вопросы