【问题标题】:Doxygen - how to end an attention block without newlineDoxygen - 如何在没有换行符的情况下结束注意力块
【发布时间】:2012-03-20 14:51:41
【问题描述】:

基本上我想在注意力部分之后继续常规文本的流程。如果我留下换行符,doxygen 不会将换行符之前的文本关联为项目的文档。有没有一种通用的方法来结束任意部分,例如@attention,而不将整个部分(即@attention)放在另一个块中并终止它。

编辑

例如,给定

///this is a function
///@attention attention text

///should be outside attention text
void testFunc() {};

doxygen 输出如下所示:

void testFunc()

应该是外界关注的文字

这是一个函数

注意:
注意文字

即文本的顺序已更改。

更新

另一个类似的问题:在文件的开头我有:

///@author Somebody
///

#define MY_MACRO printf

作者与宏相关联,而不是整个文件。如果我在@author 之后附加一个空注释行,我会得到相同的结果

一般来说,当没有像 @endcode 这样的显式关闭宏时,是否有一种通用的方法来结束 doxygen 中的块。

【问题讨论】:

  • 你能发布一些示例代码吗?我不认为您的陈述“如果我留下换行符,doxygen 不会将换行符之前的文本关联为项目的文档”是事情应该如何工作的,所以一些代码将极大地帮助追踪问题。
  • 好的,更新问题
  • 回答您更新的问题:除非在 doxygen 手册中明确提及(如 \endcode),否则没有结束块的通用方法。通常命令的范围在文档中给出,通常使用不同类型的括号来表示。 \author 命令“在遇到空行或某些其他分段命令时结束。”
  • 您的\author 命令与宏相关联,因为它是紧接在宏之前出现的文档块。如果宏是变量或函数,这同样适用——这就是 doxygen 决定特定注释块所指内容的方式。如果你想给文件的作者提供\author 的行之前,请使用\file 命令。

标签: c++ doxygen


【解决方案1】:

试试这个:

///this is a function
///@attention attention text
///
///should be outside attention text
void testFunc() {};

不要在文档块中留下空白行,而是将它们放在一起。注意命令以空行结尾,但该空行应成为文档块的一部分(即空行本身表示///)。

或者,您可以使用 cmets 的 /** */ 样式,然后您将编写

/** this is a function
    @attention attention text

    should be outside attention text
*/
void testFunc() {};

【讨论】:

  • 啊!我以为我已经尝试过了,但显然我没有。它有效,谢谢。我对我的问题进行了概括(因为我和@author 有类似的问题),你能看看吗?
【解决方案2】:

作者与宏相关联,而不是整个文件。

如果您希望它与文件相关联,那么您应该将其与 文件 相关联。这意味着在与@author 相同的块中使用@file 说明符(显然是在它之前)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 2013-09-15
    • 2014-05-16
    • 2013-01-13
    • 1970-01-01
    • 2010-12-05
    相关资源
    最近更新 更多