我们正在使用Doxygen为跨语言项目生成HTML文档。在某些文档中,我想链接到用Doxygen不支持的语言编写的文件源(实际上,它是Visual Studio T4模板)。
目前,我只是在文档评论中写出文件名。
在Doxyfile中包含文件的扩展名使链接工作,但Doxygen完全误解了文件,并链接到这个误解的文档,而不是源文件,这就是我想要的。
但是,如果我排除文件的扩展名,Doxygen根本不会占用该文件。
是否有任何Doxygen命令直接链接到文件的源代码而不是文档?
我真的不在乎Doxygen为这个文件生成不正确的文档:只要我可以直接链接到文件的源而不是文档,我会很高兴。文档本身是如此明显不正确,以至于不会损害页面的生成并且可能会被发现。
有什么想法吗?
答案 0 :(得分:5)
我不确定这是否是您正在寻找的答案,但有一些希望有用的要点如下:
您可以使用\include
命令包含源代码块。来自Doxygen手册:
<强>
\include <file-name>
强>此命令可用于将源文件包含为代码块。该命令将包含文件的名称作为参数。可以使用Doxygen配置文件的
EXAMPLE_PATH
标记指定源文件或目录。使用
\include
命令相当于将文件插入文档块并使用\code
和\endcode
命令将其包围。
此外,来自this页面
指向文件的链接。
包含不是单词中最后一个字符的点(。)的所有单词都被视为文件名。如果该单词确实是文档输入文件的名称,则会自动为该文件的文档创建一个链接。
最后,来自Doxygen FAQ:
<强> 11。 Doxygen会在运行的文本中的某个位置自动生成指向MyClass类的链接。如何在某个地方阻止这种情况?
将
%
放在班级名称前面。像这样:%MyClass
。然后Doxygen将删除%
并保持单词取消链接。
从最后两点来看,如果Doxygen找到它认为是文件名的文件,它似乎会自动链接到文档文件。 %
字符会阻止Doxygen执行此操作,但您需要找到一种方法来链接\include
中包含的代码。
此外,请参阅我对您的问题的评论,了解如何停止Visual Studio T4模板的Doxygen生成文档 - 我认为如果您遵循评论中的建议,那么Doxygen将不会自动添加该文件的链接(不正确) )文件。
编辑:正如问题评论中所讨论的,一种可能的解决方案是为源代码创建新页面并将源直接包含在此页面中。例如,可以使用
/*! \page src_code Visual Studio T4 Template
\include src.tt
*/
这将包含文档“相关页面”选项卡下的“Visual Studio T4模板”页面,可以使用标记src_code
引用(即使用\ref src_code
链接到该页面页面/源代码)。
最后,如果您要包含C / C ++代码,则可以使用\include
和\code
命令将\endcode
括起来以突出显示代码。