Неверный разрыв строки в комментариях к Javadoc в Eclipse

Я думаю, что есть небольшая, но раздражающая ошибка во встроенном форматере Java Eclipse. У меня есть комментарий Javadoc, который выглядит так:

/**
 * - - - stuff - - - {@code mTasksBelow}.
 */

где точка в конце находится в столбце 81. Форматировщик настроен на перенос комментариев Javadoc в строке 80. К сожалению, когда я форматирую код, он делает это:

/**
 * - - - stuff - - - {@code mTasksBelow}
 * .
 */

Это помещает пробел между текстом и периодом в сгенерированном выводе, поэтому браузер, отображающий Javadoc в HTML, например, также будет думать, что это нормально, чтобы разбить там.

Похоже, этого не произойдет, если точка не следует за тегом Javadoc. (Например, если строка заканчивается закрывающей скобкой и точкой в ​​столбце 81, она будет правильно разбиваться перед последним словом.)

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

2 ответа

Решение

Ну, теперь это новая ошибка Eclipse. Это, очевидно, все еще будет присутствовать в первом выпуске Indigo.

Что ж, для этого есть более чем забавная работа. Чтобы обойти это, попробуйте включить / выключить теги в формататоре Eclipse.

Окно -> Настройки -> Java -> Форматтер -> Редактировать -> Выкл. / Вкл. Теги -> Включить Выкл. / Вкл. Теги

Затем вам нужно окружить свой комментарий этими тегами, чтобы средство форматирования не касалось его (обратите внимание, что теги должны находиться в отдельных блоках комментариев, иначе Eclipse их игнорирует). В примере:

//@formatter:off
/**
 * Oddly formatted comment.              MUHAHAHAHAH :)
 **/
//@formatter:on

Presto... Formatter не будет трогать это. Проверено на Juno на Fedora 17. Надеюсь, это поможет.

Другие вопросы по тегам