在doxygen中使用@see或@link的方法

6

以前我用Javadoc记录文档时,使用标签@see@link{@see foo}{link foo}来链接到其他类。现在我试用doxygen,发现这些标签不兼容。如果我运行doxygen,完整的标签只会被解释为普通文本。

有没有其他替代标签可以使用,以达到相同的功能呢?


1
似乎两者都被支持,即@see@link - timrau
1
据我所知,这些标签是被支持的。 - Chris Dargis
@timrau 在描述之间也吗? - FredFloete
@FredFloete 如果您能提供一些示例代码以及文档和Doxygen输出,那将非常有帮助。这将有助于我们找到问题的根源。 - Chris
OP的{link foo}即使在Javadoc中也是无效的,请尝试使用{@link MyClass#foo} - Top-Master
3个回答

5
要链接到其他类,您应该使用ref命令。您可以使用\link命令,但必须以\endlink命令结束链接文本,我猜这可能是您的问题(虽然没有示例文档,我不能确定)。
从doxygen手册中关于自动链接的部分,建议您阅读一下,其中有一个关于链接到类的段落:
“文档中所有与已记录类对应且至少包含一个非小写字符的单词都将自动替换为指向包含类文档的页面的链接。如果您不希望将与已记录类对应的单词替换为链接,则应在单词前面放置%。要链接到全小写符号,请使用\ref。”
还需要考虑以下几点:
- Doxygen确实接受\see(与\sa同义),以及\link命令。如果这些命令未按预期工作,OP应包含一些示例文档,以便我们尝试找出哪些命令未按预期工作。 - {\command description}表示法,带有封闭的{},在doxygen文档中不常见,我不确定程序如何处理这些内容,因此最好不要使用这种风格。

2
我已经解决了这个问题,或者更好的说是绕过了它。我使用普通的JavaDoc标签,如{@link #onCreate(Bundle)}{@link Content}(如果是我自己的类)。文档化或引用Android方法和类并没有正常工作。没有包含或显示任何链接。我在JavaDoc中也遇到了同样的问题,所以我决定在文本中添加<a href="http://developer.android.com/reference/android/app/Activity.html">Activity</a>而不是{@link Activity} - FredFloete
如果你想链接到Android文档,你可能想要检查我的android23.tag文件。它提供了所有官方文档的链接。 - rekire

1

我怀疑你正在使用//进行评论

Doxygen会以这种方式捕获标签:

/**
* @KEYWORD DESCRIPTION
*/ 

您也可以只需添加第三个/,使每个注释行以///开头,因为doxygen也会捕获这个。


@DougRamsey:你说得没错,但我想要像这样使用标签: This class implements {@link Parcelable}.。 这只是一个例子,但///或/在这个例子中对我不起作用。 - FredFloete
@FredFloete:然后使用`\link'命令:http://www.stack.nl/~dimitri/doxygen/commands.html#cmdlink - Chris Dargis
@FredFloete 尝试将 This class implements {@link Parcelable} 替换为 This class implements \ref Parcelable。请参见 我的回答 了解更多信息。 - Chris
@DougRamsey \link 可用于引用其他类,但它是用于使用自定义链接文本(而不仅仅是类名),并且链接文本必须跟随 \endlink 命令。在我看来,使用 ref 命令更容易。 - Chris

0

我偶然发现了一篇很好的文章,比较了javadoc和doxygen,并展示了一些等效代码的示例(@link等)。你可以在这里看到它。希望对你有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接