Можно ли пометить часть 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() {
...
}
Ответы
Ответ 1
Я думаю, вы можете использовать @formatter:off
и @formatter:on
// @formatter:off
public void fluentIterfaceThingy() {
...
}
// @formatter:on
Вам может потребоваться включить эту опцию в разделе стиля кода: Window->Preferences->Java->Formatter->Edit->On/Of Tags
Ответ 2
Да, это настраивается в eclipse. И вы можете переопределить ключевые слова включения/выключения.
![enter image description here]()
Ответ 3
Я не уверен, нужна ли дополнительная настройка (у нас есть настраиваемое затмение в нашей компании), но это работает для меня:
//@formatter: off
// @formatter: on