Javadoc: разрывы строк без HTML-тегов?
Извините за вероятный вопрос о часто задаваемых вопросах, но я просто не могу найти ответ.
Насколько я помню Eclipse, пустая строка в комментарии Javadoc отображается (в всплывающих подсказках In-source Javadoc) в виде разрыва строки (с дополнительным вертикальным интервалом).
В Netbeans, однако, это не так.
Могу ли я настроить Javadoc для интерпретации пустой строки в виде разрыва строки?
Дополнительный вопрос: могу ли я переопределить поведение по умолчанию Netbeans (связанное с этим) для всплывающих подсказок Javadoc в источнике?
То, о чем я говорю, это:
Источник
/**
* Paragraph One
*
* Paragraph Two
*/
void someMethod() { }
Интерпретация Eclipse
Paragraph One
Paragraph Two
Интерпретация Netbeans
Paragraph One Paragraph Two
Ответы
Ответ 1
Это не имеет ничего общего с Netbeans. Я подозреваю, что вы смотрите на исходный код в одном случае и вывод Javadoc в другом случае. Новые строки не являются значимыми в HTML: поэтому выходные данные не будут их отображать. Если вы хотите новую строку, используйте <p>
или <br>
.
Ответ 2
Я не уверен, что это помогает для случая OP, однако я помещал <pre></pre>
вокруг моего документа, поэтому netbean не испортил мое форматирование. Поэтому он будет выглядеть как
/**
* <pre>
* Paragraph One
*
* Paragraph Two
* </pre>
*/
Это ближе всего, когда я показываю новые строки в текстовом формате. Я использую NetBeans 7.1.2. Таким образом, использование опции code format
не приведет к переформатированию документа. Отображение doc в подсказках по-прежнему отформатировано.
Обновление: в Netbeans 8.x есть опция форматирования кода, чтобы отключить форматирование комментариев.
Ответ 3
В NetBeans
уже есть опция, протестированная в версии 8.2, которая позволяет сохранять новые строки в комментариях и/или добавлять <p>
в Javadoc
при необходимости.
- Просто из меню
Tools
, выбрал Options
- Перейдите на вкладку "
Editor
", затем на вкладку " Formatting
". - В меню "
Language
выберите " Java
, а в меню " Category
Comments
- Установите флажок "
Preserve New Lines
в разделе " General
", если вы хотите сохранить новые строки в комментариях. Это сохранит новые строки без добавления <p>
- Установите флажок
Generate "<p>" on Blank Lines
поле Generate "<p>" on Blank Lines
в разделе Javadoc
если вы также хотите добавить <p>
.
![enter image description here]()
Ответ 4
Я согласен с вами, HTML не принадлежит исходному коду. К сожалению, я не нашел много помощи для этого. Это на самом деле довольно легко реализовать.
Здесь пользовательский Doclet, который вы можете компилировать и использовать:
import com.sun.javadoc.*;
import com.sun.tools.doclets.standard.*;
/**
* Formats text-only comments with HTML.
*/
@SuppressWarnings("restriction")
public final class TextDoclet {
private static final Pattern NEWLINE_REGEX = Pattern.compile("\\n");
private static final String BR = "<br/>\n";
public static boolean start(RootDoc rootDoc) {
for ( ClassDoc classdoc : rootDoc.classes())
classdoc.setRawCommentText(formatText(classdoc.getRawCommentText()));
return Standard.start(rootDoc);
}
private static String formatText(String text) {
return NEWLINE_REGEX.matcher(text).replaceAll(BR);
}
}
Пример того, как вызвать его с помощью javadoc:
javadoc -docletpath ~/project/text-doclet/target/text-doclet-1.0.0-SNAPSHOT.jar -doclet com.myorg.textdoclet.TextDoclet -sourcepath ~/project/myapp/src/main/java -subpackages com.myorg.myapp
Ответ 5
JavaDoc отображает способ определения стилей CSS. Вы можете редактировать стили CSS, связанные с тегами абзацев, для этого:
p {
line-height: 25px;
}
Ответ 6
Это псевдо-решение
(что, к сожалению, влияет только на генерируемый javadoc, но не влияет на отображение javadoc в источнике Netbeans).
Укажите таблицу стилей, которая содержит следующее:
div.block {
white-space: pre;
}
Ответ 7
Я понятия не имею, что делает Eclipse здесь, но если вы хотите этого поведения в целом (не только IDE), возможно, вам придется создать новый Doclet (который может быть основан на стандартном HTML-документе), вместо этого вставляя <p>
в каждую пустую строку или такую.