Javadoc: разрывы строк без HTML-тегов? - PullRequest
70 голосов
/ 22 февраля 2011

Извините за возможный вопрос типа FAQ, но я просто не могу найти ответ.

Насколько я помню, Eclipse, пустая строка в комментарии Javadoc отображается(во всплывающих окнах Javadoc в исходном коде) как разрыв строки (с дополнительным вертикальным интервалом).

Однако в Netbeans это не так.

Можно ли настроить Javadoc наинтерпретировать пустую строку как разрыв строки?

Дополнительный вопрос: можно ли переопределить поведение Netbeans по умолчанию (связанное с этим) для всплывающих окон Javadoc в исходном коде?

Я имею в виду:

Источник

/**
 * Paragraph One
 *
 * Paragraph Two
 */
 void someMethod() { }

Интерпретация Eclipse

 Paragraph One

 Paragraph Two

Интерпретация NetBeans

 Paragraph One Paragraph Two

Ответы [ 7 ]

68 голосов
/ 22 февраля 2011

Это не имеет ничего общего с Netbeans.Я подозреваю, что вы смотрите на исходный код в одном случае и вывод Javadoc в другом случае.Новые строки не имеют значения в HTML: ergo вывод не будет их отображать.Если вы хотите новую строку, используйте <p> или <br>.

30 голосов
/ 19 октября 2015

Я не уверен, поможет ли это в случае с OP, однако я поставил вокруг моего документа, чтобы netbean не испортило мое форматирование.Таким образом, это будет выглядеть как

<code>/**
 * <pre>
 * Paragraph One
 *
 * Paragraph Two
 * 
* /

Это наиболее близко к отображению новых строк в текстовом формате.Я использую NetBeans 7.1.2.Таким образом, использование опции code format не будет переформатировать документ.Отображение документа в подсказках по-прежнему отформатировано.

Обновление: в Netbeans 8.x в форматировании кода есть возможность отключить форматирование комментариев.

10 голосов
/ 05 января 2017

В NetBeans уже есть опция, протестированная на версии 8.2, которая позволяет сохранять новые строки в комментариях и / или добавлять тег <p> к вашему Javadoc при необходимости

* 1005.* Просто в меню Tools выберите Options Перейдите на вкладку Editor, затем Formatting tab В меню Language выберите Javaи в меню Category выберите Comments Установите флажок Preserve New Lines в разделе General, если хотите сохранить новые строки в комментариях. Это сохранит новые строки без добавления <p> тега Установите флажок Generate "<p>" on Blank Lines в разделе Javadoc , если вы также хотите добавить <p> тег .

enter image description here

4 голосов
/ 18 октября 2013

Я согласен с вами, 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
2 голосов
/ 22 февраля 2011

JavaDoc отображает способ определения стилей CSS. Вы можете изменить стили CSS, связанные с тегами абзаца, чтобы сделать это:

p {
    line-height: 25px;
}
1 голос
/ 22 февраля 2011

Это псевдо-решение
(которое, к сожалению, влияет только на сгенерированный Javadoc, но не влияет на отображение Javadoc в Netbeans).

Укажите таблицу стилей, которая содержитследующее:

div.block {
    white-space: pre;
}
0 голосов
/ 22 февраля 2011

Я понятия не имею, что Eclipse делает здесь, но если вам нужно такое поведение в целом (не только IDE), вам, возможно, придется создать новый Doclet (который может быть основан на доклете HTML по умолчанию), вместо этоговставка <p> в каждую пустую строку или около того.

...