在doxygen主页上自动生成类引用链接

时间:2013-12-19 08:33:08

标签: markdown doxygen

我正在尝试使用doxygen为C#应用程序生成文档。现在,我正在尝试创建一个主页,其中包含指向所记录应用程序的中心类的一些链接。

我使用markdown创建了页面,它看起来像这样:

\mainpage
Project name
==================
bla
Important classes
------------------
* Class1
* Class2
* Class3

由于某种原因,doxygen不会自动生成此页面上相应类的链接。为了让事情变得奇怪,doxygen在代码文档中识别这些类名并生成相应的链接没有问题,因此,据我所知,这是一个主页问题。

有没有办法做到这一点,而不使用生成的类页面的硬编码链接?

3 个答案:

答案 0 :(得分:8)

我一直在尝试,因为我有类似的需求 - 我也有一个用Markdown编写的主页。这与Stephen的答案基本相同,但有更多信息。我正在使用doxygen 1.8.5。

在doxyfile中将AUTOLINK_SUPPPORT设置为NO:

您似乎需要完全限定的包名称

com.bigcorp.stuff.product.namespace.ClassName

您还需要一个参考命令来建立链接:

\ref com.bigcorp.stuff.product.namespace.ClassName

这至少意味着您可以限定输出文本

\ref com.bigcorp.stuff.product.namespace.ClassName "ClassName"

表示输出文本没有名称空间混乱。

将AUTOLINK_SUPPPORT设置为YES(或空白):

你不需要 \refcom.bigcorp.stuff.product.namespace.ClassName只会自己提供课程的链接,但确实有混乱,所以使用{{1}无论如何,可能会更清洁。

仅使用\ref仍未提供链接。似乎你需要包前言。

奇怪的是,将鼠标悬停在自动创建的链接上会产生目标类的弹出描述。但是,明确的ClassName链接不会。

答案 1 :(得分:3)

我终于明白了!使用类似Namespace1.Class1的命名空间名称前缀类名称就可以了!

这仍然很奇怪,因为doxygen在其他地方处理短类名称没有问题,但是嘿,它有效!

答案 2 :(得分:0)

我发现如何避免在每个类上添加繁琐的\ ref并保留类工具提示。

您可以简单地将注释放在命名空间内。

namespace com.bigcorp.stuff.product.namespace
{
/// \page page_name Page Name
/// This is a working class auto ref -> ClassName.
}

虽然这对于多个命名空间中的类不起作用...