如何创建自定义javadoc标签?

如何创建自定义的javadoc标签,例如@pre / @post? 我发现了一些解释它的链接,但我没有运气。 这些是一些链接:

http://www.developer.com/java/other/article.php/3085991/Javadoc-Programming.html

http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/javadoc.html

java代码

/** * @custom.mytag hey ho... */ 

java doc选项

 -tag custom.mytag:a:"This is my Tag:" 

产量

这是我的标签:

嘿嘿……

自定义标签不应该使用HTML创建,因为javadoc可能会改变它的实现或它如何呈现数据,也许它们将来会开始使用Markdown ,Javadoc导出器也不会捕获缺少的信息而你可能有空的“标签”。

首先使用你想要的任何标签:

 /** * Comments and a {@link #methodLink} for this method. * * @tt.wrapper {@link OtherClass} * */ public String extractName() { // method contents } 

请注意,自定义标记的格式为@[prefix].[tagName] ,这是因为doclet(或另一个Eclipse插件)可能会释放它自己的具有相同名称的标记,并且您的标记只会覆盖标准标记,所以我们添加一个前缀,以减少发生这种情况的可能性。

来自doclet的评论。

可覆盖未来标准标记的自定义标记:@wrapper为避免潜在的覆盖,请在自定义标记名称中至少使用一个句点字符(。)。


现在你必须告诉Javadoc导出器这个自定义标签@tt.wrapper 。 转到Eclipse中的Project > Generate Javadoc.. (在我的例子中是Indigo)。

配置此对话框的前两个屏幕的设置后(使用“下一步”更改屏幕),您应该看到以下屏幕:

Eclipse Doclet Javadoc Export的第三个配置屏幕

您应该注意到“Extra Javadoc options ..”文本框具有您必须为Javadoc导出器添加的值,以创建与您的标记等效的HTML。

在我们的例子中,选项就是这个(如果你想要多个标签,把它们放在一个新行上):

 -tag tt.wrapper:a:"API Wrapper:" 

现在当你导出你的Javadoc时(我还建议你保存一个ANT脚本,这样你就不必每次都经过这个对话框了),你的自定义标签将以粗体显示描述和下面的值。

PS我还没有找到一种方法来添加为自定义标签添加自动完成的function,但在Indigo中似乎不可能,也许它将在未来版本中(不确定Juno是否有它)。

如果你想要多个,请执行javadoc -tag pre -tag post -tag invariant ,它会询问命令行参数。 不要使用html的东西

那么我做的不是最好的解决方案,但是可读:

  /** 

Pre:

    True
*

Post:

    The x is pushed onto the top of the stack, * and the rest of the stack remains unchanged.
* * @param x Indicates the current node */ public void push(int x){ ... }

直到找到正确的答案,希望它有所帮助!