【问题标题】:How to use \addtogroup with an ALIASES command?如何将 \addtogroup 与 ALIASES 命令一起使用?
【发布时间】:2019-02-18 05:00:37
【问题描述】:

我正在尝试创建一个自定义命令以便于组处理。思路大体上……

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】:

    有点奇怪。使用别名:

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

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

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

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

    注意:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 2012-02-08
      • 2019-05-09
      相关资源
      最近更新 更多