Можно ли пометить часть java-кода в eclipse, чтобы она не форматировалась автоматически?

Автоформатирование с помощью eclipse для Java-кода просто великолепно! Вы можете написать ужасный код, а затем просто набрать CTRL + SHIFT + f - и получится потрясающий код.

Но иногда я хочу отметить, что часть кода не форматируется автоматически. Например, через свободный интерфейс:

public void fluentInterfaceJooqDemo() {
    create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, count())
          .from(AUTHOR)
          .join(BOOK).on(AUTHOR.ID.equal(BOOK.AUTHOR_ID))
          .where(BOOK.LANGUAGE.eq("DE"))
          .and(BOOK.PUBLISHED.gt(date("2008-01-01")))
          .groupBy(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
          .having(count().gt(5))
          .orderBy(AUTHOR.LAST_NAME.asc().nullsFirst())
          .limit(2)
          .offset(1)
          .forUpdate()
          .of(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME);
}

и после введите CTRL + SHIFT + f

public void fluentInterfaceJooqDemo() {
    create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, count()).from(AUTHOR).join(BOOK).on(AUTHOR.ID.equal(BOOK.AUTHOR_ID))
            .where(BOOK.LANGUAGE.eq("DE")).and(BOOK.PUBLISHED.gt(date("2008-01-01"))).groupBy(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
            .having(count().gt(5)).orderBy(AUTHOR.LAST_NAME.asc().nullsFirst()).limit(2).offset(1).forUpdate()
            .of(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME);
}

Однако я ищу способ пометить такой код non-autoformat, например

//non-format
public void fluentInterfaceJooqDemo() {
    ...
}

person Mark    schedule 08.01.2014    source источник
comment
Возможно: stackoverflow.com/questions/1820908/   -  person Sotirios Delimanolis    schedule 08.01.2014
comment
вы можете выбрать часть, которую хотите отформатировать, а затем нажать CTRL + SHIFT + f, чтобы форматировалась только выбранная часть   -  person Roman Vottner    schedule 08.01.2014
comment
Лично я не считаю инструменты, побуждающие писать ужасный код, блестящими. :)   -  person pamphlet    schedule 08.01.2014


Ответы (3)


Я думаю, вы можете использовать @formatter:off и @formatter:on

// @formatter:off
public void fluentIterfaceThingy() { 
...
}
// @formatter:on

Вам может потребоваться включить этот параметр в разделе стилей кода: Window->Preferences->Java->Formatter->Edit->On/Of Tags

person Todd    schedule 08.01.2014
comment
Спасибо, как включить эту опцию? - person Mark; 08.01.2014
comment
@Mark - отредактировано, чтобы выделить, где это. - person Todd; 08.01.2014

Да, это можно настроить в eclipse. И вы можете переопределить ключевые слова включения / выключения.

введите описание изображения здесь

person Community    schedule 08.01.2014

Я не уверен, нужна ли дополнительная конфигурация (у нас есть индивидуальное затмение в нашей компании), но это работает для меня:

// @formatter: off // @formatter: on

person JBA    schedule 08.01.2014