如何使用带有ALIASES命令的\ addtogroup?

问题描述 投票:0回答:1

我正在尝试创建一个自定义命令,以便更轻松地处理组。这个想法一般......

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正在解析一行中的命令而不是在前一步中解析'^^'新行...

doxygen aliases doxygen-addtogroup
1个回答
0
投票

有点奇怪。使用别名:

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

所以在大括号打开之前使用双反斜杠(\\)({)我得到它的工作。我也得到它:

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

所以看起来额外的反斜杠在意想不到的地方被吃掉了。 \@应该是同义词,但是因为\也是一个转义字符所以它经常是棘手的。

注意:

  1. 我用doxygen -d commentscan来看替换
  2. 未来可能会改变,因为我认为这可能是一个错误。
  3. 问题是由于ALIASES可以嵌套的事实引起的,并且在更改之后新的字符串被视为输入。当需要在扩展输出中使用文字{},时,必须使用\来逃避它们,并且在en处移除\。问题出现在命令\{\}中,因为\用作'命令指示符'。如果需要'阻止命令',最好使用@{@}\}\close没有问题,因为它没有重新评估。
© www.soinside.com 2019 - 2024. All rights reserved.