如何创建指向同一文件的Doxygen链接
我想写一个Doxygen注释,命名注释所在的文件。我希望Doxygen为我提供文件名,而不是显式地编写文件名。因此,如果我更改了文件名,或者将某些内容移动到另一个文件中,我不需要更改名称的硬编码实例 举个具体的例子,假设我在array.hpp中为函数添加注释,我希望某些函数的注释是“此函数应仅在array.hpp中使用。”我希望能够编写如何创建指向同一文件的Doxygen链接,doxygen,Doxygen,我想写一个Doxygen注释,命名注释所在的文件。我希望Doxygen为我提供文件名,而不是显式地编写文件名。因此,如果我更改了文件名,或者将某些内容移动到另一个文件中,我不需要更改名称的硬编码实例 举个具体的例子,假设我在array.hpp中为函数添加注释,我希望某些函数的注释是“此函数应仅在array.hpp中使用。”我希望能够编写 /** * This function should only be used within @thisfile. */ 其中,@thisfile是一个
/**
* This function should only be used within @thisfile.
*/
其中,@thisfile
是一个Doxygen表达式,在文件array.hpp
中转换为array.hpp
我已经看过了Doxygen文档,包括“自动链接生成/文件链接”和整个“特殊命令”部分,但还没有找到我要找的内容。是否存在这样的功能
请注意,几周前在Doxygen邮件列表上提出了基本相同的问题。它尚未收到任何答复。概述
据我所知,这种功能并不存在的开箱即用。但您可以通过在doxy文件中配置来添加它。doxygen将文件路径作为参数传递给过滤器。过滤器可以使用此选项将关键字(例如@thisfile
)替换为文件路径
下面我给出了一个如何使用bash
实现此功能的示例。其他shell或窗口的解决方案应该非常类似
bash的示例
写一个简短的bash
脚本infilter\u filename.sh
:
#!/bin/bash
pathToScript=`pwd`"/"
sed -e "s:@thisfile:${1/$pathToScript/}:g" $1
此脚本通过工作目录截断文件的路径。生成的字符串用于替换您选择的关键字(此处:@thisfile
)
使脚本可执行:chmod+x infilter\u filename.sh
将Doxyfile
中的设置为INPUT\u FILTER=./infilter\u filename.sh
就这样!