如何创建自定义javadoc标签?

如何创建自定义javadoc标签?

问题描述:

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

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文档选项

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

输出

这是我的标签:

嘿嗬......

+1

使用'custom.mytag'的任何特定原因?有一个'dot'时会发生什么,我们是否可以读取和分开这些名字或者什么,或者只是为了清楚地说明这个名字。 – prime 2017-08-14 15:44:24

那么我所做的是不是最好的解决办法,但可读性:

/** <p><b>Pre:</b></p> <Ul>True</Ul> 
    * <p><b>Post:</b></p> <Ul>The x is pushed onto the top of the stack, 
    *      and the rest of the stack remains unchanged.</Ul> 
    * 
    * @param x    Indicates the current node 
    */ 
    public void push(int x){ 
     ... 
    } 

直到一个合适的回答被发现,希望它帮助!

+3

没有很好的解决方案。使用-tag java doc选项 – appsthatmatter 2011-09-15 08:39:26

自定义标签不应该使用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为避免潜在的覆盖,在自定义标签名称中至少使用一个句点字符(。)。


现在你要告诉这个自定义标签,@tt.wrapper的Javadoc出口国。 在Eclipse中转到Project > Generate Javadoc..(我的情况是Indigo)。

此对话框的前两个屏幕配置设置后(使用“下一步”来改变屏幕),你应该看到这个画面:

Third configuration screen for Eclipse Doclet Javadoc Export

你应该注意到,“额外的Javadoc选项。 。“文本框中有您必须的Javadoc出口商创建HTML相当于你的标签添加 值

在我们的情况下,选择是这个(如果你想多个标签,把它们放在一个新行):

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

现在,当您导出的Javadoc(我还建议在保存ANT脚本,所以你不必通过这个对话框每次去),你将有你的自定义标签以粗体与描述,以及下面的值。

PS我还没有找到一种方法来添加能够添加自动完成的c ustom标签,但在靛蓝似乎不可能,也许它将在未来的版本(不知道如果朱诺有它)。

+0

您关于更改HTML的说法无效。检查Oracle [网站](http://docs.oracle.com/javase/7/docs/technotes/guides/javadoc/taglet/overview.html)上的官方小标语示例,他们使用HTML时没有任何先决条件... – Serhiy 2015-06-24 21:16:28

+0

任何特定的有理由使用'tt.wrapper'?有一个'dot'时会发生什么,我们是否可以读取和分开这些名字或者什么,或者只是为了清楚地说明这个名字。 – prime 2017-08-14 15:45:16

+0

基本上,它是一个命名空间,所以你不会与内置标签冲突。 – knownasilya 2017-08-16 18:47:33

如果您需要多个,请执行如javadoc -tag pre -tag post -tag invariant这样的命令行参数。不要使用html的东西