Javadoc:HTMLタグなしの改行?


81

よくある質問のような質問で申し訳ありませんが、答えが見つかりません。

私がEclipseを覚えている限り、Javadocコメントの空白行は(ソース内のJavadocポップアップで)改行として(余分な垂直方向の間隔で)表示されます。

ただし、Netbeansではそうではありません。

空白行を改行として解釈するようにJavadocを設定できますか?

追加の質問:ソース内のJavadocポップアップのデフォルトのNetbeans動作(これに関連する)をオーバーライドできますか?

私が話しているのは:

ソース

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

Eclipseの解釈

 Paragraph One

 Paragraph Two

Netbeansの解釈

 Paragraph One Paragraph Two

1
これらの回答の多くは、NetBeans8.2によって古くなっています(置き換えられています)。以下の@fujyからの回答を参照してください。これは、完全に機能します。
Webel ITAustralia-賛成票2017

回答:


80

Netbeansとは何の関係もありません。あるケースではソースコードを、別のケースではJavadocの出力を見ていると思います。改行は、HTMLには重要ではありません:エルゴ出力は、それらを表示されません。改行が必要な場合は、<p>またはを使用します<br>


4
質問で述べたように、Eclipse空白行を段落と見なします。私の仮定は、それはということですので、持っているいくつかのJavadocの設定(Netbeansの有無にかかわらず)によって、これを達成することが可能であることを。
java.is.for.desktop 2011

Eclipseは、フォーマットされていてもソースコードを表示します。Netbeans 6.9.1は、ソー​​スコードも示しています。同上、つまり、改行も無視しません。ただし、何らかの方法でJavadocの出力を見ている場合、それが正しくない場合は、改行を無視しないことを意味します。
user207421 2011

40

これがOPの場合に役立つかどうか<pre></pre>はわかりませんが、netbeanがフォーマットを台無しにしないように、ドキュメントを整理しました。だからそれは次のようになります

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

これは、新しい行をテキスト形式で表示するのに最も近い方法です。NetBeans7.1.2を使用しています。このようにcode formatオプションを使用しても、ドキュメントは再フォーマットされません。ヒントでドキュメントを表示することはまだフォーマットされています。

更新:Netbeans 8.xには、コメントのフォーマットを無効にするオプションがコードフォーマットにあります。


13

NetBeansコメントに新しい行を保持<p>したりJavadoc、必要に応じてタグを追加したりできるオプションがすでにあります(バージョン8.2でテスト済み)。

  • Toolsメニューから、Options
  • Editorタブに移動し、次にFormattingタブ
  • Languageメニューを選んだJava、としてCategoryメニューを選びましたComments
  • コメントの新しい行を保持する場合Preserve New Linesは、Generalセクションのチェックボックスをオンにします。これにより、<p>タグを追加せずに新しい行が保持されます
  • タグも追加する場合Generate "<p>" on Blank Linesは、Javadocセクションのチェックボックスをオンにします。<p>

ここに画像の説明を入力してください


2
NetBeans8.2で間違いなく最良の答えです。簡単。ただし、コードに対してFormatを実行したときにのみ実際に起動するように編集してください(既存の改行を使用)。<p>手作業ですでにいくつかある場合は<p>``<p>、最初に2倍になることがあるので注意する必要があります。その後、期待どおりに動作します。
Webel IT Australia-賛成票2017

4

私はあなたに同意します、HTMLはソースコードに属していません。悲しいことに、私はこれについてグーグルで回る助けをあまり見つけられませんでした。実際、実装は非常に簡単です。

コンパイルして使用できるカスタムドックレットは次のとおりです。

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

JavaDocは、CSSスタイルが定義された方法を表示します。これを行うには、段落タグに関連付けられたCSSスタイルを編集できます。

p {
    line-height: 25px;
}

1
ありがとうございますが、Netbeansは空白行を段落としてまったく解釈しないと確信しています(私の質問の「Netbeansの解釈」を参照)。つまり、行間隔を定義できるのは、行がある場合のみです。
java.is.for.desktop 2011

うーん。私はそれを観た。しかし、Netbeansがこれを編集するオプションを提供しているかどうかはよくわかりません。
adarshr 2011

2

これは疑似ソリューションです
(悲しいことに、生成されたjavadocにのみ影響しますが、Netbeansのソース内のjavadoc表示に影響しません)。

以下を含むスタイルシートを指定します。

div.block {
    white-space: pre;
}

0

私は、Eclipseがここで何をしているのか分からないが、あなたは一般的な(だけではなくIDE)でこの動作をしたい場合は、代わりに、そこに挿入する(デフォルトHTMLドックレットに基づいていてもよい)、新しいドックレットを作成する必要があります<p>でのすべての空の行など。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.