T4 Doxygen:如何链接到用不支持的语言编写的源文件?

T4 Doxygen:如何链接到用不支持的语言编写的源文件?,t4,doxygen,T4,Doxygen,我们正在使用Doxygen为跨语言项目生成HTML文档。在一些文档中,我想链接到一个文件源,该文件是用Doxygen不支持的语言编写的(实际上,它是Visual Studio T4模板) 目前,我只是在文档注释中写出文件名 在Doxyfile中包含文件扩展名可以使链接正常工作,但是Doxygen完全误解了文件,并且链接到这个被误解的文档,而不是我想要的源文件 但是,如果排除文件的扩展名,Doxygen根本不会占用文件 是否有任何Doxygen命令直接链接到文件的源,而不是其文档 我真的不在乎Do

我们正在使用Doxygen为跨语言项目生成HTML文档。在一些文档中,我想链接到一个文件源,该文件是用Doxygen不支持的语言编写的(实际上,它是Visual Studio T4模板)

目前,我只是在文档注释中写出文件名

在Doxyfile中包含文件扩展名可以使链接正常工作,但是Doxygen完全误解了文件,并且链接到这个被误解的文档,而不是我想要的源文件

但是,如果排除文件的扩展名,Doxygen根本不会占用文件

是否有任何Doxygen命令直接链接到文件的源,而不是其文档

我真的不在乎Doxygen为这个文件生成了不正确的文档:只要我可以直接链接到文件的源代码而不是文档,我就很高兴了。文档本身显然是不正确的,因此生成页面并可能找到页面并不有害


有什么想法吗?

我不确定这是否是您想要的答案,但下面有几点希望有用:

  • 可以使用命令包含源代码块。从Doxygen手册:

    \include

    此命令可用于将源文件包含为代码块。该命令将包含文件的名称作为参数。可以使用Doxygen配置文件的
    EXAMPLE\u PATH
    标记指定源文件或目录

    使用
    \include
    命令相当于将文件插入文档块并用
    \code
    \endcode
    命令将其包围

  • 另外,从第页

    指向文件的链接。

    所有包含不是单词中最后一个字符的点(.)的单词都被视为文件名。如果单词确实是一个文档化输入文件的名称,则会自动创建一个指向该文件文档的链接

  • 最后,从氧气中:

    11。Doxygen会在运行文本中的某个位置自动生成指向类MyClass的链接。我如何在某个地方防止这种情况发生?

    在类名前面放一个
    %
    。像这样:
    %MyClass
    。然后,Doxygen将删除
    %
    ,并保持单词未链接

从最后两点来看,如果Doxygen找到它认为是文件名的文件,它似乎会自动链接到一个有文档记录的文件。
%
字符将阻止Doxygen执行此操作,但是您需要找到一种链接到
\include
中包含的代码的方法

另外,有关如何停止Doxygen为Visual Studio T4模板生成文档的问题,请参阅我的评论。我认为,如果您遵循评论中的建议,Doxygen将不会自动添加指向该文件(不正确)文档的链接

编辑:如问题注释中所述,一种可能的解决方案是为源代码创建一个新页面,并将源代码直接包含在此页面上。例如,可以使用

/*! \page src_code Visual Studio T4 Template
    \include src.tt
 */
这将包括文档“相关页面”选项卡下标题为“Visual Studio T4模板”的页面,该页面可通过标签
src_code
引用(即使用
\ref src_code
链接到该页面/源代码)


最后,如果要包含C/C++代码,则可以使用
\code
\endcode
命令将
\include
括起来,以语法突出显示代码。

可以通过在配置文件的
EXCLUDE
标记中包含该文件名来防止为某些文件生成Doxygen文档。或者,只在
INPUT
标记中包含您想要记录的文件,例如
INPUT=*.cpp
。谢谢,但我如何仍然链接到它的源文件?我不确定,但我在回答中提供了一些初步想法。作为第一次尝试,请将源文件作为页面包含在文档中(使用
\include
,请参阅我的答案)(请参阅)。然后,您的源代码将显示在“相关页面”选项卡下。这不会有语法突出显示,因为Doxygen不支持该语言,但您的文档中至少会包含源代码。谢谢。编辑部分帮助了我。真不敢相信你不能把所有的东西都和强氧结合起来。通过wiki实现这一点要容易得多。