如何通过ALIASES命令使用\ addtogroup?

时间:2018-09-13 12:45:20

标签: doxygen aliases doxygen-addtogroup

我正在尝试创建自定义命令以简化组的处理。这个想法总的来说...

ALIASES += opengroup{1}="^^* \addtogroup \1_GROUP ^^ * \{ ^^"
ALIASES += close="\}"

...在代码文件中用作...

/** \opengroup{LEVEL_1} */
// ...code statements...
/** \close */ // opengroup

...以获取doxygen结果注释:

/**
* \addtogroup LEVEL_1_GROUP
* \{
*/
// ...code statements...
/** \} */ // opengroup

我尝试使用Doxygen 1.8.14。不幸的是,这不起作用。有什么想法吗?

编辑: 我认为根本问题是\ addtogroup命令及其语法。我的希望是通过插入'^^'来强制换行来清除此问题,但是在我看来doxygen正在将命令解析为一行,而不是在预步骤中解决了'^^'新行... < / p>

1 个答案:

答案 0 :(得分:0)

有点奇怪。使用别名:

ALIASES += opengroup{1}="^^* \addtogroup \1_GROUP ^^ * \\{ ^^"

所以在花括号(\\)打开前加上双反斜杠({)可以使它工作。 我也可以使用它:

ALIASES += opengroup{1}="^^* \addtogroup \1_GROUP ^^ * @{ ^^"

所以看起来多余的反斜杠在意外的地方被吃掉了。 \@应该是同义词,但是由于\也是一个转义字符,因此通常很棘手。

注意:

  1. 我使用doxygen -d commentscan来查看替换项
  2. 将来可能会发生变化,因为我认为这可能是一个错误。
  3. 问题是由于ALIASES可以嵌套并且在更改后将新字符串视为输入这一事实引起的。当需要在扩展输出中使用文字{},时,必须用\对其进行转义,并且\在en处被删除。这里的问题出现在命令\{\}上,因为这里\充当“命令指示符”。如果需要“阻止命令”,最好使用@{@}\}中的\close没有问题,因为它没有重新评估。