在doxygen文档中如何创建指向文件特定行的链接
问题描述:
有几个doxygen命令,其目的是在文档中创建链接(@link,@ref)。
我正在使用@ref命令来创建一个到doxygen(xml)不支持的语言编写的自定义文件的链接。
我想改变这个链接,以便它指向文件中的一个精确的行。
是否有一个doxygen命令可以做到这一点?在doxygen文档中如何创建指向文件特定行的链接
答
我不确定\ref
或\link
可以做到这一点。但是,如果可以的话,采用这种方法的一个问题是,如果您更改链接文件的内容而无需更改链接,链接将变为无效。这是分离源代码和文档的问题之一。
而不是链接到另一个文件中的特定行,为什么不包含您在文档中感兴趣的文件的特定部分?你既可以:
- 包括与
\include
整个文件(也有\includelineno
),只是引用它的相关部分的文本(例如“在对码功能XXX下方”),或 - 包括片段您需要在文档中使用
\snippet
来引用它们。
编辑:此外,还可以使用\dontinclude
命令,它连同\line
,\skip
,\skipline
和\until
命令允许包括特定行/特定文件的块。请参阅\dontinclude
文档中的示例。
感谢您的建议。 '\ snippet'命令看起来很有前途,但它只适用于_source files_中的代码片段,而我想从_xml资源file_中显示数据。我无法将标识片段位置的标签添加到我的xml文件,因为doxygen样式的评论会“破坏”它。使用\ include也很聪明,但它是一个巨大的文件,我不想每次都包含它(文档会被无关的数据弄脏)。但是,当我使用\ ref到我的文件时,我已经参考了相关的部分,正如你所建议的那样。我只是在寻找更好的方法。 – wil 2012-03-13 01:30:06
@wil没问题。我还在'\ dontinclude'命令中添加了一个注释,这比''snippet'命令更适合你,因为它不需要将任何标记添加到资源文件中。然而,根据文档,似乎这个命令只适用于源文件(我没有测试过这个,所以我不确定这是否是实际情况)。您也可以直接在您的文档中包含XML。如果做不到这一点,恐怕你只能忍受使用'\ ref'方法。 – Chris 2012-03-13 08:05:52
我试过'\ dontinclude'命令,它也适用于xml文件!我已解决这个解决方案,并将您的答案设置为“接受”:-) – wil 2012-03-13 09:09:14