Documentation DOXYGEN:创建没有大括号语法的多参数别名,如@param&;其他人(标签!)?

Documentation DOXYGEN:创建没有大括号语法的多参数别名,如@param&;其他人(标签!)?,documentation,alias,doxygen,curly-braces,Documentation,Alias,Doxygen,Curly Braces,我们在刚刚开始的项目中使用doxygen来记录我们的C/C++代码,如果可能的话,我们希望实现以下目标。 创建具有多个参数的自定义别名时,我们在代码文档中使用的语法如下所示: /** * @myalias{param1,param2} */ ALIASES += myalias{2}="do something with \1 and with \2" 在我们的.doxy文件中,此别名的定义如下所示: /** * @myalias{param1,param2} */ ALIASES

我们在刚刚开始的项目中使用doxygen来记录我们的C/C++代码,如果可能的话,我们希望实现以下目标。 创建具有多个参数的自定义别名时,我们在代码文档中使用的语法如下所示:

/**
 * @myalias{param1,param2}
 */
ALIASES += myalias{2}="do something with \1 and with \2"
在我们的.doxy文件中,此别名的定义如下所示:

/**
 * @myalias{param1,param2}
 */
ALIASES += myalias{2}="do something with \1 and with \2"
相反,我们希望定义一个自定义标记,其行为类似于@param,这将允许我们在记录源文件时使用以下语法:

/**
 * @myalias param1          param2
 */
并且仍然能够以某种方式引用param1和param2

我知道,例如,@param标记可以将param1和param2区分为两个不同的实体,它不需要任何花括号

是否可以定义一个自定义标记,在该标记中,我们可以在.doxy文件中作为单独的实体访问param1和param2,但要使用不带花括号的代码文档语法


提前感谢您

简短的回答是否定的。在仔细阅读了doxygen文档之后,似乎有一个合理的解释来解释原因。内置的doxygen命令列表可能会更改,并且您不希望在更改时重新定义所有别名。当发生冲突时,如何选择命令和别名?doxygen不必执行决策,而是强制您指出哪个是哪个

文档中暗示的示例在上一节中。这里定义了
l{1}
别名,并对其进行了详细的实验。但是,如果转到,它会清楚地指出有一个永远不应该显式使用的命令
\l
。花括号别名的定义使其完全明确了使用的是哪一个

我不确定这是否是一种深思熟虑的设计理念,或者它只是以这种方式很高兴地结合在一起,但这种区别是有用的


我很抱歉写下这个答案,因为我自己也希望得到你想要的结果。不过,了解原因会有所帮助。

问得好。有别名的命令需要大括号,而无别名的命令不需要大括号,这似乎很奇怪。