将各种文件中的自定义命令收集到单独的页面中

Collect custom commands from various files into a separate page

本文关键字:单独 自定义 文件 命令      更新时间:2023-10-16

我的应用程序中有一些C++类,这些类有一些"配置"成员,最终用户可以在运行时修改这些成员以选择各种配置。(如何在幕后实现这一点无关紧要,并且跳过了。我想将所有此类配置成员的自定义文档收集到用户可以参考的单独doxygen页面中,以了解所有存在的配置成员。

考虑这个简单的例子。(相关代码不必位于类声明的顶部,如此处所示。

class Foo {
public:
  /**
    * @config Foo12
    * @default true
    * @range true, false
    * @purpose set this false if you don't want Foo12
    */
  bool foo12;
  /**
    * @config Foo34
    * @default false
    * @range true, false
    * @purpose set this true if you want Foo34
    */
  bool foo34;
};
class Bar {
public:
  /**
    * @config Bar12
    * @default true
    * @range true, false
    * @purpose set this false if you don't want Bar12
    */
  bool bar12;    
};

这应该产生如下所示的输出:

配置: Foo12
默认值为 true
范围为真、假
目的 如果您不想要 Foo12,请将此设置为 false(英语:Foo12

配置: Foo34
默认为
范围为真、假
目的设置这个假,如果你想要 Foo34

配置: 酒吧12
默认值为 true
范围为真、假
如果您不想要 Bar12
,则目的设置此假

我对分组、xrefitem、别名、自定义命令有些熟悉,但我无法弄清楚如何将它们一起使用来实现上述目标。

xrefitem为每个自定义命令创建一个单独的页面。分组会将文档放置在源中出现的任何位置。这些对于一次性向用户显示所有可用的配置设置不是很有帮助。

我可以尝试什么方法来使其正常工作?解决方案不必干净或优雅,使用解决方法是可以的。

这有什么好处吗?

在 doxyfile 中设置别名

ALIASES  =  "wibble=@xrefitem wibble "Wibbles!" "Wibble List""

和使用

@wibble
- b Config fobbling 
- b Default 4245345346
- b Range 500 yards

在代码中。

输出并不完美,但对我来说看起来可行(我刚刚尝试过)。