一次性在 Doxygen 注释中注释多个变量

17

如果我有以下内容:

/**
 * @brief (x,y,z) points for block
 */
int x, y, z;

在doxygen中,它只会为x生成文档,是否可能通过一个注释来注释所有的x、y和z?

编辑 根据envu的建议,我现在有了以下内容(基于http://www.doxygen.nl/manual/grouping.html#memgroup

//@{
/** some documentation here */
int x, y, z;
//@}
或者
//@{
/**
 * @brief some documentation here
 */
int x, y, z;
//@}

但这两个仍然只记录了x。我尝试使用不同的形式,但我还没有找到同一个文档字符串跨越多个变量的方法。

4个回答

27

我一直在为这个问题苦恼。原来需要在配置中设置 DISTRIBUTE_GROUP_DOC = YES


13

我会使用成员组(member groups)进行此操作。虽然语法和输出略有不同,但我认为这不应该影响您的需求。


谢谢您的帖子,但我仍然无法让它工作。请查看我的更新帖子,了解我尝试过的内容。 - cjh
是的,它只会记录 x。不幸的是,写 int x; int y,z; 似乎也不起作用。也许要报告一个错误? - evnu
由于没有更好的解决方案,该问题被接受了。这可能是Doxygen或其文档的错误。 - cjh
1
@cjh 我遇到了与成员函数组相同的问题。我认为这是一个bug。 - Stefano Borini

6
我知道这是一个老问题,但我遇到了类似的问题,并找到了一种解决方法,虽然不能完全解决问题,但在某些情况下可能是可以接受的替代品。在成员组块上面放置一个注释并使用\name修饰符,您会得到一个描述,在Doxygen页面的属性列表中,该描述显示在成员组中所有变量上方。我认为这是一个简短的描述,但如果您愿意,您可以在此处放置任意长的描述。这并没有将相同的注释放入成员组中每个变量的详细字段中(详细字段将为空,或者如果您在成员组块内部放置了注释,则仍将仅适用于第一个变量),但它确实具有一起记录相关变量组的效果,这似乎是问题最初的意图。例如:
/*! \name This will be the description for the following group of variables
          It can be arbitrarily long, but the first line will show up in bold,
          and any subsequent lines will show up like a description under it
*/
//@{
int relatedVariable1;
int relatedVariable2;
char* relatedVariable3;
//@}

3

我在“专家”选项卡中设置了“DISTRIBUTE_GROUP_DOC”选项。然后,该组的所有成员都收到了相同的评论。

//@{
/** same comment for all members */
char aaa;
char bbb;
int ccc;
//@}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接