如何创建指向同一文件的DOXOXY链接 [英] how to create a Doxygen link to the same file
本文介绍了如何创建指向同一文件的DOXOXY链接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想要写一个DOXORT注释,它命名出现该注释的文件。我不想显式地写出文件名,而是想让Doborth为我提供它。因此,如果我更改文件名,或将某些内容移到其他文件中,我不需要更改该名称的硬编码实例。
举一个具体的例子,假设我要向array.hpp中的函数添加注释,并且我希望某些函数的注释显示"此函数应仅在array.hpp内使用"。我希望能够写
/**
* This function should only be used within @thisfile.
*/
其中@thisfile
是在文件array.hpp
中转换为array.hpp
的DOOXO表达式。
我已经查看了DOOXO文档,包括"自动链接生成/文件链接"和整个"特殊命令"部分,但我还没有找到我要找的东西。是否存在此类功能?
请注意,几周前在Doborx的邮件列表上也提出了同样的问题。尚未收到任何答复。
推荐答案
常规
据我所知,这种功能不存在开箱即用的功能。但您可以通过在Doxyfile
中配置INPUT_FILTER
来添加它。Doxygen将文件的路径作为参数传递给筛选器。筛选器可以使用它将您的关键字(例如@thisfile
)替换为文件的路径。
bash
实现此功能的示例。其他外壳或Windows的解决方案应该非常类似。
bash
示例
写一个短小的
bash
脚本infiltrate_filename.sh
:
此脚本截断工作目录指向该文件的路径。生成的字符串用于替换您选择的关键字(此处:#!/bin/bash pathToScript=`pwd`"/" sed -e "s:@thisfile:${1/$pathToScript/}:g" $1
@thisfile
)。/li>- 使您的脚本可执行:
chmod +x infiltrate_filename.sh
- 将
Doxyfile
中的INPUT_FILTER
设置为INPUT_FILTER = ./infiltrate_filename.sh
@thisfile
,它将被替换为文件的路径。由于这些路径是相对于Doloxy的工作目录的,因此它们将automatically be linked指向该文件。
备注
本解决方案假定过滤脚本位于doxygen的工作目录中(例如~/my_project
),并且INPUT
文件位于工作目录的子目录中(例如~/my_project/src/foo/bar
)。
我已经在一个最小的工作示例上测试了这个示例。我不是bash
或sed
专家。此解决方案可能会有所改进。
这篇关于如何创建指向同一文件的DOXOXY链接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文