Замена блога форматирования кода Eclipse Java
Есть ли способ заставить Eclipse встроенный Java-код форматировать игнорировать комментарии? Всякий раз, когда я запускаю его, он поворачивается так:
/*
* PSEUDOCODE
* Read in user string/paragraph
*
* Three cases are possible
* Case 1: foobar
* do case 1 things
* Case 2: fred hacker
* do case 2 things
* Case 3: cowboyneal
* do case 3 things
*
* In all cases, do some other thing
*/
в это:
/*
* PSEUDOCODE Read in user string/paragraph
*
* Three cases are possible Case 1: foobar do case 1 things Case 2: fred
* hacker do case 2 things Case 3: cowboyneal do case 3 things
*
* In all cases, do some other thing
*/
Я уже играл с настройками Windows > Настройки > Java > Стиль кодa > Formatter, но не могу найти его для сохранения форматирования комментариев. Я использую Eclipse 3.4.0.
Ответы
Ответ 1
Обновление 2010, как указано OP и в этом ответе, специальной строки //@formatter:off
в Eclipse 3.6 достаточно.
Это не было доступно во время вопроса.
Оригинальный ответ: июнь 2009, Eclipse 3.4/3.5
С помощью средства форматирования Java (Windows > Preferences > Java > Code Style > Formatter
) вы можете создать новый профиль "Средство форматирования".
На вкладке Комментарии (в eclipse3.5) вы можете убедиться, что в разделе " Javadoc comment settings
" снять флажок " Format HTML tags
".
Проверьте также " Never join lines
" в разделе " General settings
".
Тогда ваш комментарий должен быть написан так:
/**
* PSEUDOCODE
* Read in user string/paragraph
*
* Three cases are possible:
* <dl>
* <dt>Case 1: foobar</dt>
* <dd> do case 1 things</dd>
* <dt>Case 2: fred hacker</dt>
* <dd> do case 2 things</dd>
* <dt>Case 3: cowboyneal</dt>
* <dd> do case 3 things</dd>
* </dl>
* In all cases, do some other thing
*/
Примечание: я сделал комментарий Javadoc, а не простой комментарий, так как считаю, что комментарий с таким большим количеством текста может быть лучше размещен перед методом. Кроме того, разделы Javadoc имеют больше параметров форматирования для воспроизведения.
Если он находится перед методом (истинный Javadoc), HTML-теги <dl>
, <dt>
и <dd>
помогут правильно представить его в представлении Javadoc.
Ответ 2
Существует другое решение, которое можно использовать для подавления форматирования отдельных комментариев блока. Используйте /*-
(обратите внимание на дефис) в начале комментария блока и форматирование
не будет изменяться, если вы отформатируете остальную часть файла.
/*-
* Here is a block comment with some very special
* formatting that I want indent(1) to ignore.
*
* one
* two
* three
*/
Источник: http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141999.html#350
Ответ 3
Я только что узнал от коллеги, что Eclipse предлагает специальные теги форматирования, которые можно использовать для этого:
// @formatter:off
/*
* ╔════════╦═══════╦══════════╗
* ║ Month ║ Sales ║ Position ║
* ╠════════╬═══════╬══════════╣
* ║ June ║ 44k ║ 2nd ║
* ║ July ║ 39k ║ 2nd ║
* ║ August ║ 49k ║ 4th ║
* ╚════════╩═══════╩══════════╝
*
* This comment shouldn't be formatted, and will now be ignored by the formatter.
*/
// @formatter:on
Обратите внимание, что вам может потребоваться вручную включить эту функцию с помощью меню "Настройки" → Java > Стиль кодa > Formatter, нажав Изменить, выбрав вкладку Выкл./Вкл. и проверив Включить выкл./Вкл. Теги (источник).
Быстрый Google для строки @formatter: off привел меня в этот другой ответ SO, в котором упоминалась эта функция в контексте отключение форматирования для кодовых блоков. Я подтвердил, что он работает с комментариями строк, "нормальными" комментариями блоков и комментариями блока Javadoc.
Ответ 4
Другая возможность - использовать HTML <pre> в Javadoc:
/**
* <pre>
* this
* is
* kept
* as
* is
* </pre>
*/
По крайней мере, так я склонен внедрять ASCII-искусство в комментарии к исходным кодам:)
Ответ 5
Окружать конкретный текст тегами <pre> </pre>
.
Ответ 6
В Eclipse 3.4: Настройки, Java- > Code Style- > Formatter, затем отредактируйте профиль, вкладку комментариев. Там есть множество опций для управления форматированием комментариев.
Ответ 7
Ответ проверен только в Eclipse:
- Проблема с принятым ответом (Java Formatter (Windows > Preferences > Java > Code Style > Formatter), вы можете создать новый профиль Formatter), вы влияете на каждый javadoc в своем коде. Возможно, это нежелательно для других частей кода, которые необходимо отформатировать.
- Проблема с /* - решением заключается в том, что он работает только с "регулярными" комментариями блоков, а не комментариями Javadoc (как указано Pops).
Мое предложение было бы просто использовать теги html. Вы можете, например, обернуть текст после разрыва тегами p, чтобы увидеть дополнительную строку перевода строки в отображаемом html. Вот как выглядит ваш пример (я добавил еще немного текста и использовал p для случая 1):
/**
* PSEUDOCODE<br>
*
* Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
* eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
* voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
* clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
* amet. <br>
*
* Three cases are possible:<br>
*
* Case 1: foobar<br>
* <p>
* Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
* eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
* voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
* </p>
*
* Case 2: fred hacker do case 2 things<br>
*
* Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
* eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
* voluptua. At vero eos et accusam et justo duo dolores et ea rebum.<br>
*
*/
Ответ 8
Если вы хотите подавить форматирование в eclipse, вы всегда можете обернуть контент, который предназначен для НЕ ФОРМИРОВАНИЯ в тег <pre>UNFORMATTED CONTENT</pre>
. Форматировщик Javadoc обнаружит этот тег и оставит все между этими тегами неформатированными.
Плюсы:
- Остальная часть Javadoc все еще отформатирована
- Выход Javadoc html также будет "неформатирован" из-за предварительных тегов
Минусы:
Ответ 9
одним из способов является добавление тега pre для комментариев, которые вы не хотите форматировать eclipse.
/**
* <pre>
* this part
* is
* out of
* format
*
* </pre>
*/
Ответ 10
Он зависит от языка.
Например, если вы работаете с javascript, вы должны перейти в "Окно → Настройки → Javascript → Стиль кода → Форматировать", а затем отредактировать параметры форматирования.
Изменить (отражая изменения в OP-вопросах
Для редактирования форматирования java-кода перейдите к
"Окно → Настройки → Java → Стиль кода → Formatter"
В верхней части панели вы увидите
Активный профиль:
Eclipse [встроенный]
Оттуда у вас есть одна кнопка справа, "Изменить" и две ниже "Новые..." и "Импорт...".
Я бы рекомендовал Редактировать существующий профиль.
В диалоговом окне редактирования есть ряд вкладок вверху. Последняя вкладка - "Комментарии". Чтобы полностью отключить форматирование комментариев, снимите флажок "Включить форматирование комментариев Javadoc", "Включить форматирование комментариев блока", "Включить форматирование комментариев к линии" и "Включить форматирование комментариев комментария".
Ответ 11
Вы можете изменить это в Windows - "Настройки" - "Java" - "Стиль кода" - "Форматтер", чем нажать кнопку "Изменить", найти "Комментарии", выбрать "Никогда не присоединяться к линиям".
Тогда все должно быть в порядке.
Ответ 12
Попробуй это. Это сработало для меня. С помощью средства форматирования Java (Windows> "Установки"> "Java"> "Стиль кода"> "Средство форматирования") вы можете создать новый профиль средства форматирования из существующего и затем отредактировать его.
Если Eclipse не позволяет сохранить это, создайте новый и сохраните в нем. ![enter image description here]()