Javadoc:没有HTML标签的换行符?

对不起,有一个可能的常见问题types的问题,但我只是找不到答案。

就我所记得的Eclipse而言,Javadoc注释中的空行显示为(在内源Javadocpopup窗口中)作为换行符(具有额外的垂直间距)。

但是在Netbeans中,事实并非如此。

我可以configurationJavadoc将空行解释为换行符吗?

额外的问题:我可以重写默认的NetBeans的行为(与此相关)源Javadocpopup窗口?

我在说的是:

资源

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

Eclipse解释

  Paragraph One Paragraph Two 

Netbeans的解释

  Paragraph One Paragraph Two 

它与Netbeans无关。 我怀疑你正在查看一种情况下的源代码,另一种情况下是查看Javadoc的输出。 在HTML ergo中,换行符并不重要,输出不会显示它们。 如果你想要一个换行符,使用<p>或者一个<br>

我不确定这是否有助于OP的情况下,但是我把<pre></pre>放在我的文档中,所以netbean不会弄乱我的格式。 所以它看起来像

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

这是最接近我显示文本格式的新行。 我正在使用NetBeans 7.1.2。 这种使用code format选项的方式不会重新格式化文档。 在提示中显示文档仍然是格式化的。

更新:在Netbeans 8.x有一个代码格式的选项来禁用格式化评论。

NetBeans已经有一个选项 – 在版本8.2上testing – 允许您在注释中保留新行,并且/或者在需要时向您的Javadoc添加<p>标签

  • 只需从Tools菜单中selectOptions
  • 转到Editor选项卡,然后selectFormatting选项卡
  • 在“语言”菜单中selectJava ,然后在“类别”菜单中select“ Comments
  • 如果要在注释中保留新行,请选中General部分中的Preserve New Linescheckbox。 这将保留新行而不添加<p>标签
  • 如果您还想添加<p>标签,请勾选Javadoc部分中的Generate "<p>" on Blank Linescheckbox。

在这里输入图像说明

我同意你的看法,HTML不属于源代码。 可悲的是,我没有find很多的帮助search这个。 这实际上很容易实现。

以下是您可以编译和使用的自定义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 

JavaDoc显示了CSS样式的定义方式。 您可以编辑与段落标签相关联的CSS样式来执行此操作:

 p { line-height: 25px; } 

这是一个伪解决scheme
(可悲的只影响生成的javadoc,但不影响Netbeans的源代码javadoc显示)。

指定一个包含以下内容的样式表:

 div.block { white-space: pre; } 

我不知道Eclipse在这里做什么,但是如果你想要这个行为(不仅仅是一个IDE),你可能需要创build一个新的Doclet(可能是基于默认的HTML doclet),而是插入一个<p>在每一个空行或等等。