我正在尝试创建一个自定义命令,以便更轻松地处理组。这个想法一般......
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正在解析一行中的命令而不是在前一步中解析'^^'新行...
有点奇怪。使用别名:
ALIASES += opengroup{1}="^^* \addtogroup \1_GROUP ^^ * \\{ ^^"
所以在大括号打开之前使用双反斜杠(\\
)({
)我得到它的工作。我也得到它:
ALIASES += opengroup{1}="^^* \addtogroup \1_GROUP ^^ * @{ ^^"
所以看起来额外的反斜杠在意想不到的地方被吃掉了。 \
和@
应该是同义词,但是因为\
也是一个转义字符所以它经常是棘手的。
注意:
doxygen -d commentscan
来看替换ALIASES
可以嵌套的事实引起的,并且在更改之后新的字符串被视为输入。当需要在扩展输出中使用文字{
,}
或,
时,必须使用\
来逃避它们,并且在en处移除\
。问题出现在命令\{
和\}
中,因为\
用作'命令指示符'。如果需要'阻止命令',最好使用@{
和@}
。 \}
的\close
没有问题,因为它没有重新评估。