特殊命令

简介

文档中的所有命令都以反斜杠 (\) 或 at 符号 (@) 开头。如果您愿意,可以将下面所有以反斜杠开头的命令替换为以 at 符号开头的对应命令。

某些命令有一个或多个参数。每个参数都有一定的范围。

  • 如果使用 <尖括号>,则参数为单个单词。
  • 如果使用 (圆括号),则参数会扩展到找到该命令的行的末尾。
  • 如果使用 {花括号},则参数会扩展到下一个段落。段落由空行或节指示符分隔。请注意,{花括号} 也用于命令选项,这里的花括号是强制性的,并且只是“普通”字符。起始花括号必须直接跟在命令之后,中间没有空格。

如果除了上述参数说明符之外还使用了 [方括号],则参数是可选的,除非它们放在引号之间,在这种情况下,它们是命令参数的强制部分。

这是按字母顺序排列的所有命令的列表,其中包含指向其文档的引用:

以下小节提供了 Doxygen 识别的所有命令的列表。无法识别的命令将视为普通文本。

--- 结构指示符 ---

\addtogroup <名称> [(标题)]

定义一个组,就像 \defgroup 一样,但与该命令不同的是,多次使用相同的 <名称> 不会产生警告,而是会产生一个具有合并文档的组以及在任何命令中找到的第一个标题。

标题是可选的,因此该命令也可以用于将多个实体添加到现有组,如下所示,使用 @{@}

  /*! \addtogroup mygrp
   *  Additional documentation for group 'mygrp'
   *  @{
   */

  /*!
   *  A function
   */
  void func1()
  {
  }

  /*! Another function */
  void func2()
  {
  }

  /*! @} */
另请参阅
页面 分组,章节 \defgroup\ingroup\weakgroup

\callgraph

当此命令放置在函数或方法的注释块中,并且 HAVE_DOT 设置为 YES 时,Doxygen 将为该函数生成调用图(前提是函数或方法的实现调用了其他已记录的函数)。无论 CALL_GRAPH 的值如何,都将生成调用图。

注意
调用图的完整性(和正确性)取决于 Doxygen 代码解析器,该解析器并不完美。
另请参阅
章节 \callergraph,章节 \hidecallgraph,章节 \hidecallergraph 和选项 CALL_GRAPH

\hidecallgraph

当此命令放置在函数或方法的注释块中时,Doxygen 将不会为该函数生成调用图。无论 CALL_GRAPH 的值如何,都不会生成调用图。

注意
调用图的完整性(和正确性)取决于 Doxygen 代码解析器,该解析器并不完美。
另请参阅
章节 \callergraph,章节 \callgraph,章节 \hidecallergraph 和选项 CALL_GRAPH

\callergraph

当此命令放置在函数或方法的注释块中,并且 HAVE_DOT 设置为 YES 时,Doxygen 将为该函数生成调用者图(前提是函数或方法的实现被其他已记录的函数调用)。无论 CALLER_GRAPH 的值如何,都将生成调用者图。

注意
调用者图的完整性(和正确性)取决于 Doxygen 代码解析器,该解析器并不完美。
另请参阅
章节 \callgraph,章节 \hidecallgraph,章节 \hidecallergraph 和选项 CALLER_GRAPH

\hidecallergraph

当此命令放置在函数或方法的注释块中时,Doxygen 将不会为该函数生成调用者图。无论 CALLER_GRAPH 的值如何,都不会生成调用者图。

注意
调用者图的完整性(和正确性)取决于 Doxygen 代码解析器,该解析器并不完美。
另请参阅
章节 \callergraph,章节 \callgraph,章节 \hidecallgraph 和选项 CALLER_GRAPH

\showrefby

当此命令放置在函数、方法或变量的注释块中时,Doxygen 将为该函数、方法、变量生成一个概述,概述中列出调用/使用它的已记录的函数和方法。无论 REFERENCED_BY_RELATION 的值如何,都将生成概述。

注意
概述的完整性(和正确性)取决于 Doxygen 代码解析器,该解析器并不完美。
另请参阅
章节 \showrefs,章节 \hiderefby,章节 \hiderefs 和选项 REFERENCED_BY_RELATION

\hiderefby

当此命令放置在函数、方法或变量的注释块中时,Doxygen 将不会为该函数、方法或变量生成概述,其中列出调用/使用它的函数和方法。无论 REFERENCED_BY_RELATION 的值如何,都不会生成概述。

注意
概述的完整性(和正确性)取决于 Doxygen 代码解析器,该解析器并不完美。
另请参阅
章节 \showrefs,章节 \showrefby,章节 \hiderefs 和选项 REFERENCED_BY_RELATION

\showrefs

当此命令放置在函数或方法的注释块中时,Doxygen 将为该函数或方法生成一个概述,其中列出调用它的函数和方法。无论 REFERENCES_RELATION 的值如何,都将生成概述。

注意
概述的完整性(和正确性)取决于 Doxygen 代码解析器,该解析器并不完美。
另请参阅
章节 \showrefby,章节 \hiderefby,章节 \hiderefs 和选项 REFERENCES_RELATION

\hiderefs

当此命令放置在函数或方法的注释块中时,Doxygen 将不会为该函数或方法生成概述,其中列出调用它的函数和方法。无论 REFERENCES_RELATION 的值如何,都不会生成概述。

注意
概述的完整性(和正确性)取决于 Doxygen 代码解析器,该解析器并不完美。
另请参阅
章节 \showrefs,章节 \showrefby,章节 \hiderefby 和选项 REFERENCES_RELATION

\showinlinesource

当此命令放置在函数、多行宏、枚举或列表初始化的变量的注释块中时,Doxygen 将为该成员生成内联源代码。无论 INLINE_SOURCES 的值如何,都将生成内联源代码。

另请参阅
章节 \hideinlinesource,选项 INLINE_SOURCES

\hideinlinesource

当此命令放置在函数、多行宏、枚举或列表初始化的变量的注释块中时,Doxygen 将不会为该成员生成内联源代码。无论 INLINE_SOURCES 的值如何,都不会生成内联源代码。

另请参阅
章节 \showinlinesource, 选项 INLINE_SOURCES

\includegraph

当此命令放置在文件的注释块中时,Doxygen 将为该文件生成一个包含图。无论 INCLUDE_GRAPH 的值如何,都会生成包含图。

另请参阅
章节 \hideincludegraph,章节 \includedbygraph,章节 \hideincludedbygraph 和选项 INCLUDE_GRAPH

\hideincludegraph

当此命令放置在文件的注释块中时,Doxygen 将不会为该文件生成包含图。无论 INCLUDE_GRAPH 的值如何,都不会生成包含图。

另请参阅
章节 \includegraph,章节 \includedbygraph,章节 \hideincludedbygraph 和选项 INCLUDE_GRAPH

\includedbygraph

当此命令放置在包含文件的注释块中时,Doxygen 将为该包含文件生成一个被包含图。无论 INCLUDED_BY_GRAPH 的值如何,都会生成被包含图。

另请参阅
章节 \hideincludedbygraph,章节 \ncludegraph,章节 \hideincludegraph 和选项 INCLUDED_BY_GRAPH

\hideincludedbygraph

当此命令放置在包含文件的注释块中时,Doxygen 将不会为该包含文件生成被包含图。无论 INCLUDED_BY_GRAPH 的值如何,都不会生成被包含图。

另请参阅
章节 \includedbygraph,章节 \ncludegraph,章节 \hideincludegraph 和选项 INCLUDED_BY_GRAPH

\directorygraph

当此命令放置在目录的注释块中(请参阅章节 \dir)时,Doxygen 将为该目录生成目录图。无论 DIRECTORY_GRAPH 的值如何,都会生成目录图。

另请参阅
章节 \hidedirectorygraph,选项 DIRECTORY_GRAPH

\hidedirectorygraph

当此命令放置在目录的注释块中(请参阅章节 \dir)时,Doxygen 将不会为该目录生成目录图。无论 DIRECTORY_GRAPH 的值如何,都不会生成目录图。

另请参阅
章节 \directorygraph,选项 DIRECTORY_GRAPH

\collaborationgraph

当此命令放置在类的注释块中时,Doxygen 将为该类生成协作图。无论 COLLABORATION_GRAPH 的值如何,都会生成协作图。

另请参阅
章节 \hidecollaborationgraph,选项 COLLABORATION_GRAPH

\hidecollaborationgraph

当此命令放置在类的注释块中时,Doxygen 将不会为该类生成协作图。无论 COLLABORATION_GRAPH 的值如何,都不会生成协作图。

另请参阅
章节 \collaborationgraph,选项 COLLABORATION_GRAPH

\inheritancegraph['{option}']

当此命令放置在类的注释块中时,Doxygen 将为该类生成符合 option 的继承图。无论 CLASS_GRAPH 的值如何,都会生成符合 option 的继承图。option 的可能值与 CLASS_GRAPH 可以使用的值相同。如果未指定 option,则假定值为 YES

另请参阅
章节 \hideinheritancegraph,选项 CLASS_GRAPH

\hideinheritancegraph

当此命令放置在类的注释块中时,Doxygen 将不会为该类生成继承图。无论 CLASS_GRAPH 的值如何,都不会生成继承图。

另请参阅
章节 \inheritancegraph,选项 CLASS_GRAPH

\groupgraph

当此命令放置在 \defgroup 命令的注释块中时,Doxygen 将为该组生成一个组依赖图。无论 GROUP_GRAPHS 的值如何,都会生成组图。

另请参阅
章节 \hidegroupgraph,选项 GROUP_GRAPHS

\hidegroupgraph

当此命令放置在 \defgroup 命令的注释块中时,Doxygen 将不会为该组生成组依赖图。无论 GROUP_GRAPHS 的值如何,都不会生成组图。

另请参阅
章节 \groupgraph,选项 GROUP_GRAPHS

\showenumvalues

当此命令放置在枚举的注释块中时,doxygen 将显示该枚举的指定枚举值,无论 SHOW_ENUM_VALUES 的值如何。

另请参阅
章节 \hideenumvalues,选项 SHOW_ENUM_VALUES

\hideenumvalues

当此命令放置在枚举的注释块中时,doxygen 将不会显示该枚举的指定枚举值,无论 SHOW_ENUM_VALUES 的值如何。

另请参阅
章节 \showenumvalues,选项 SHOW_ENUM_VALUES

\qualifier <label> | "(text)"

使用此命令,可以向成员和类添加自定义限定符标签。这些标签将以与自动生成的标签(如“static”、“inline”和“final”)相同的方式显示在输出中。

例如,要指示某个函数仅用于测试目的,可以添加 \qualifier test


\category <name> [<header-file>] [<header-name>]

仅限 Objective-C:指示注释块包含名称为 <name> 的类别的文档。参数与 \class 命令相同。

另请参阅
章节 \class

\class <name> [<header-file>] [<header-name>]

指示注释块包含名称为 <name> 的类的文档。可以选择指定头文件和头名称。如果指定了头文件,则 HTML 文档中将包含指向头文件逐字副本的链接。可以使用 <header-name> 参数覆盖类文档中使用的链接名称,使其不是 <header-file>。如果 include 名称不在默认 include 路径上(如 <X11/X.h>),这将非常有用。使用 <header-name> 参数,还可以通过在名称周围添加引号或尖括号来指定 include 语句的外观。如果仅给出名称,则使用尖括号。请注意,最后两个参数也可以使用 \headerfile 命令指定。

示例
/* 一个虚拟类 */
class Test
{
};
/*! \class Test class.h "inc/class.h"
* \brief 这是一个测试类。
*
* 关于 Test 类的一些详细信息。
*/
单击此处,查看 Doxygen 生成的相应 HTML 文档。

\concept <name>

指示注释块包含名称为 <name> 的 C++20 概念的文档。另请参阅 \headerfile 命令以指定用户应包含的头文件以使用该概念。


\def <name>

指示注释块包含 #define 宏的文档。

示例
/*! \file define.h
\brief 测试 defines
这是测试 defines 的文档。
*/
/*!
\def MAX(x,y)
计算 \a x 和 \a y 的最大值。
*/
/*!
\brief 计算参数 \a x 的绝对值。
\param x 输入值。
\returns \a x 的绝对值。
*/
#define ABS(x) (((x)>0)?(x):-(x))
#define MAX(x,y) ((x)>(y)?(x):(y))
#define MIN(x,y) ((x)>(y)?(y):(x))
/*!< 计算 \a x 和 \a y 的最小值。 */
单击此处,查看 Doxygen 生成的相应 HTML 文档。

\defgroup <name> (group title)

指示注释块包含类、模块、概念、文件或命名空间的主题的文档。这可以用来对符号进行分类,并记录这些类别。您还可以使用组作为其他组的成员,从而构建组的层次结构。

<name> 参数应为单字标识符。

另请参阅
页面 分组,章节 \ingroup\addtogroup\weakgroup

\dir [<路径片段>]

指示注释块包含目录的文档。“路径片段”参数应包含目录名称以及足够多的路径信息,以便在项目中与其他目录区分开来。STRIP_FROM_PATH 选项决定在输出中显示之前从完整路径中删除哪些部分。


\enum <名称>

指示注释块包含枚举的文档,枚举的名称为 <名称>。如果枚举是类的成员,并且文档块位于类定义之外,则还应指定类的作用域。如果注释块直接位于枚举声明之前,则可以省略 \enum 注释。

注意
无法记录匿名枚举的类型,但可以记录匿名枚举的值。
示例
class Enum_Test
{
public::
enum TEnum { Val1, Val2 };
/*! 另一个枚举,带有内联文档 */
enum AnotherEnum
{
V1, /*!< 值 1 */
V2 /*!< 值 2 */
};
};
/*! \class Enum_Test
* 类描述。
*/
/*! \enum Enum_Test::TEnum
* 枚举类型的描述。
*/
/*! \var Enum_Test::TEnum Enum_Test::Val1
* 第一个枚举值的描述。
*/
单击这里查看 Doxygen 生成的相应 HTML 文档。

\example['{lineno}'] <文件名>

指示注释块包含源代码示例的文档。源文件的名称是 <文件名>。此文件的内容将包含在文档中,紧跟在注释块中包含的文档之后。如果需要,您可以添加选项 {lineno} 来为示例启用行号。所有示例都放在一个列表中。扫描源代码以查找已记录的成员和类。如果找到任何成员和类,则会将其名称与文档进行交叉引用。可以使用 Doxygen 配置文件的 EXAMPLE_PATH 标记指定源文件或目录。

如果 <文件名> 本身对于 EXAMPLE_PATH 标记指定的一组示例文件不是唯一的,则可以包含绝对路径的一部分来消除歧义。

如果示例需要多个源文件,则可以使用 \include 命令。

示例
/** 一个 Example_Test 类。
* 关于此类的更多详细信息。
*/
class Example_Test
{
public:
/** 一个示例成员函数。
* 关于此函数的更多详细信息。
*/
void example();
};
void Example_Test::example() {}
/** \example example_test.cpp
* 这是如何使用 Example_Test 类的示例。
* 关于此示例的更多详细信息。
*/
其中示例文件 example_test.cpp 如下所示
void main()
{
Example_Test t;
t.example();
}
单击这里查看 Doxygen 生成的相应 HTML 文档。
另请参阅
章节 \include

\endinternal

此命令结束一个由 \internal 命令开始的文档片段。只有在 INTERNAL_DOCS 设置为 YES 时,\internal\endinternal 之间的文本才可见。


\extends <名称>

当编程语言本身不支持此概念时(例如 C),可以使用此命令手动指示继承关系。

示例目录中的文件 manual.c 显示了如何使用此命令(另请参阅\memberof 获取完整文件)。

单击这里查看 Doxygen 生成的相应 HTML 文档。

另请参阅
章节 \implements 和章节 \memberof

\file [<名称>]

指示注释块包含名为 <名称> 的源文件或头文件的文档。如果仅使用文件名不足以唯一标识文件,则文件名可以包含(部分)路径。如果省略文件名(即,\file 后的行留空),则包含 \file 命令的文档块将属于其所在的文件。

重要提示
只有当全局函数、变量、typedef 和枚举所在的文件也已记录,或者 EXTRACT_ALL 设置为 YES 时,它们的文档才会包含在输出中。
示例
/** \file file.h
* 简短的文件描述。
* 更详细的文件描述。
*/
/**
* 一个全局整数值。
* 关于此值的更多详细信息。
*/
extern int globalValue;
单击这里查看 Doxygen 生成的相应 HTML 文档。
注意
在上面的示例中,配置文件的 JAVADOC_AUTOBRIEF 已设置为 YES

\fileinfo['{'选项'}']

显示此命令所在的(部分)文件名。选项 可以是 nameextensionfilenamedirectoryfull,其中

  • name 不带扩展名的文件名
  • extension 文件的扩展名
  • filename 文件名,即 nameextension
  • directory 给定文件的目录
  • full 给定文件的完整路径和文件名。

如果未指定任何选项,则使用 filename,除非 FULL_PATH_NAMES 设置为 YES,在这种情况下使用 full

注意
命令 \fileinfo 不能用作 \file 命令的参数
另请参阅
章节 \lineinfo

\lineinfo

显示此命令所在文件中的行号。

另请参阅
章节 \fileinfo

\fn (函数声明)

指示注释块包含函数(全局函数或作为类的成员)的文档。只有当注释块没有放在函数声明或定义的前面(或后面)时,才需要此命令。

如果你的注释块位于函数声明或定义的前面,则可以(并且为了避免冗余应该)省略此命令。

一个完整的函数声明(包括参数)应在 \fn 命令之后在单行上指定,因为参数在该行末尾结束!

此命令等效于 \var\typedef\property

警告
如果不是绝对必要,请勿使用此命令,因为它会导致信息重复,从而导致错误。
示例
class Fn_Test
{
public::
const char *member(char,int) throw(std::out_of_range);
};
const char *Fn_Test::member(char c,int n) throw(std::out_of_range) {}
/*! \class Fn_Test
* \brief Fn_Test 类。
*
* 关于 Fn_Test 的详细信息。
*/
/*! \fn const char *Fn_Test::member(char c,int n)
* \brief 一个成员函数。
* \param c 一个字符。
* \param n 一个整数。
* \exception std::out_of_range 参数超出范围。
* \return 一个字符指针。
*/
单击这里查看 Doxygen 生成的相应 HTML 文档。
另请参阅
章节 \var\property\typedef

\headerfile <头文件> [<头文件名称>]

旨在用于类、结构或联合的文档,其中文档位于定义之前。此命令的参数与 \class 的第二个和第三个参数相同。<头文件> 名称是指应用程序应包含的文件,以获取类、结构或联合的定义。<头文件名称> 参数可用于将类文档中使用的链接名称覆盖为 <头文件> 以外的其他名称。如果包含名称不在默认包含路径上(例如 <X11/X.h>),这会很有用。

使用 <头文件名称> 参数,你还可以指定 include 语句的外观,方法是在名称周围添加双引号或尖括号。默认情况下,如果仅给出名称,则使用尖括号。

如果为 <头文件> 或 <头文件名称> 参数提供了一对双引号,则将使用当前文件(其中找到该命令),但带有引号。因此,对于文件 test.h 中包含 \headerfile 命令的注释块,以下三个命令是等效的

  \headerfile test.h "test.h"
  \headerfile test.h ""
  \headerfile "" 

要获得尖括号,你无需指定任何内容,但如果你想明确一点,可以使用以下任何一种方法

  \headerfile test.h <test.h>
  \headerfile test.h <>
  \headerfile <> 

要全局反转默认的 include 表示形式以使用本地包含,可以将 FORCE_LOCAL_INCLUDES 设置为 YES

要完全禁用 include 信息,请将 SHOW_HEADERFILE 设置为 NO


\hideinitializer

默认情况下,会显示定义的常量值和变量的初始化器,除非它们超过 30 行。通过将此命令放在定义常量或变量的注释块中,始终会隐藏初始化器。初始化行数的最大值可以通过配置参数 MAX_INITIALIZER_LINES 更改,默认值为 30。

另请参阅
章节 \showinitializer

\idlexcept <名称>

指示注释块包含名为 <名称> 的 IDL 异常的文档。


\implements <名称>

当编程语言本身不支持此概念时(例如 C),可以使用此命令手动指示继承关系。

示例目录中的文件 manual.c 显示了如何使用此命令(另请参阅\memberof 获取完整文件)。

单击这里查看 Doxygen 生成的相应 HTML 文档。

另请参阅
章节 \extends 和章节 \memberof

\ingroup (<组名> [<组名>]*)

如果 \ingroup 命令放置在复合实体(如类、文件或命名空间)的注释块中,则它将被添加到由 <组名> 标识的组中。对于成员(如变量、函数、typedef 和枚举),该成员将仅添加到一个组(以避免在成员未在其类、命名空间或文件的上下文中记录,但仅作为组的一部分可见的情况下出现歧义的链接目标)。

另请参阅
页面 分组、章节 \defgroup\addtogroup\weakgroup

\interface <名称> [<头文件>] [<头文件名称>]

表示注释块包含名为 <name> 的接口的文档。参数与 \class 命令的参数相同。

另请参阅
章节 \class

\internal

此命令启动一个仅供内部使用的文档片段。该片段自然会在注释块的末尾结束。您也可以使用 \endinternal 命令强制内部节提前结束。

如果 \internal 命令放置在某个节内(例如,请参阅 \section),则该命令之后的所有子节也将被视为内部节。只有同一级别的新节才会结束被认为是内部节的片段。

您可以使用配置文件中的 INTERNAL_DOCS 来显示 (YES) 或隐藏 (NO) 内部文档。

另请参阅
\endinternal

\mainpage [(title)]

如果 \mainpage 命令放置在注释块中,则该块用于自定义索引页(在 HTML 中)或第一章(在 {\LaTeX} 中)。

title 参数是可选的,用于替换 Doxygen 通常生成的默认标题。如果您不想要任何标题,可以将 notitle 指定为 \mainpage 的参数。

这是一个示例

/*! \mainpage My Personal Index Page
 *
 * \section intro_sec Introduction
 *
 * This is the introduction.
 *
 * \section install_sec Installation
 *
 * \subsection step1 Step 1: Opening the box
 *
 * etc...
 */

您可以使用以下命令引用主页:\ref index

另请参阅
\section,节 \subsection 和节 \page

\memberof <name>

此命令使函数成为类的成员,类似于 \relates 的方式,只是使用此命令时,该函数被表示为类的真实成员。当编程语言本身不支持成员函数的概念时(例如,C),这会很有用。

也可以将此命令与 \public\protected\private 一起使用。

示例
示例目录中的文件 manual.c 展示了如何使用此命令
/**
* \file manual.c
*/
typedef struct Object Object; //!< 对象类型
typedef struct Vehicle Vehicle; //!< 车辆类型
typedef struct Car Car; //!< 汽车类型
typedef struct Truck Truck; //!< 卡车类型
/*!
* 基础对象类。
*/
struct Object
{
int ref; //!< \private 引用计数。
};
/*!
* 将对象引用计数加一。
* \public \memberof Object
*/
static Object * objRef(Object *obj);
/*!
* 将对象引用计数减一。
* \public \memberof Object
*/
static Object * objUnref(Object *obj);
/*!
* 车辆类。
* \extends Object
*/
struct Vehicle
{
Object base; //!< \protected 基类。
};
/*!
* 启动车辆。
* \public \memberof Vehicle
*/
void vehicleStart(Vehicle *obj);
/*!
* 停止车辆。
* \public \memberof Vehicle
*/
void vehicleStop(Vehicle *obj);
/*!
* 汽车类。
* \extends Vehicle
*/
struct Car
{
Vehicle base; //!< \protected 基类。
};
/*!
* 卡车类。
* \extends Vehicle
*/
struct Truck
{
Vehicle base; //!< \protected 基类。
};
/*!
* 主函数。
*
* 引用 vehicleStart()、objRef()、objUnref()。
*/
int main(void)
{
Car c;
vehicleStart((Vehicle*) &c);
}
单击这里查看 Doxygen 生成的相应 HTML 文档。
另请参阅
\extends\implements\public\protected\private

\module <name>

表示注释块包含名为 <name> 的 C++20 模块的文档。


\name [(header)]

此命令将注释块转换为成员组的头定义。注释块后面应跟一个包含该组成员的 @{ ... @} 块。

有关示例,请参阅 成员组 部分。


\namespace <name>

表示注释块包含名为 <name> 的命名空间的文档。


\nosubgrouping

此命令可以放置在类的文档中。它可以与成员分组结合使用,以避免 Doxygen 将成员组作为 Public/Protected/Private/... 部分的子组。

另请参阅
\publicsection\protectedsection\privatesection

\overload [(函数声明)]

此命令可用于为重载成员函数生成以下标准文本

这是为方便起见提供的重载成员函数。它与上述函数的区别仅在于它接受的参数。

如果重载成员函数的文档未位于函数声明或定义之前,则应使用可选参数来指定重载函数的正确声明。当然,当 \overload 命令直接位于重载成员函数之前且使用了可选参数时,这也应该是重载函数的正确声明。

注释块内的任何其他文档都将附加到生成的消息之后。

注意 1
您有责任确保确实存在一个较早记录的成员被此成员重载。为了防止文档重新排序文档,在这种情况下,您应该将 SORT_MEMBER_DOCS 设置为 NO
注意 2
一个注释块中只能存在一个 \overload 命令。
示例
class Overload_Test
{
public::
void drawRect(int,int,int,int);
void drawRect(const Rect &r);
};
void Overload_Test::drawRect(int x,int y,int w,int h) {}
void Overload_Test::drawRect(const Rect &r) {}
/*! \class Overload_Test
* \brief 一个简短的描述。
*
* 更多文本。
*/
/*! \fn void Overload_Test::drawRect(int x,int y,int w,int h)
* 此命令绘制一个左上角位于 ( \a x , \a y ) 的矩形,
* 宽度为 \a w,高度为 \a h。
*/
/*!
* \overload void Overload_Test::drawRect(const Rect &r)
*/
单击 此处 查看 Doxygen 生成的相应 HTML 文档。

\package <name>

表示注释块包含名为 <name> 的 Java 包的文档。


\page <name> (title)

表示注释块包含一段不直接与特定类、文件或成员相关的文档。HTML 生成器会创建一个包含该文档的页面。{\LaTeX} 生成器在“页面文档”章节中启动一个新的节。

示例
/*! \page page1 一个文档页面
\tableofcontents
前导文本。
\section sec 一个示例节
此页面包含子节 \ref subsection1 和 \ref subsection2。
有关更多信息,请参阅页面 \ref page2。
\subsection subsection1 第一个子节
文本。
\subsection subsection2 第二个子节
更多文本。
*/
/*! \page page2 另一个页面
更多信息。
*/
单击 此处 查看 Doxygen 生成的相应 HTML 文档。
注意
<name> 参数由字母和数字组合而成。如果您希望在 <name> 参数中使用大写字母(例如,MYPAGE1)或混合大小写字母(例如,MyPage1),则应将 CASE_SENSE_NAMES 设置为 YES。但是,仅当您的文件系统区分大小写时,才建议这样做。否则(为了更好的可移植性),您应该在对页面的所有引用中对 <name> 使用全部小写字母(例如,mypage1)。
另请参阅
\section,节 \subsection 和节 \ref

\private

表示由注释块记录的成员是私有的,即,只能由同一类中的其他成员访问。

请注意,Doxygen 会自动检测面向对象语言中成员的保护级别。此命令仅在语言本身不支持保护级别概念时(例如,C、PHP 4)使用。

要启动一个私有成员节,其方式类似于 C++ 中的“private:”类标记,请使用 \privatesection

另请参阅
\memberof\public\protected\privatesection

\privatesection

启动一个私有成员节,其方式类似于 C++ 中的“private:”类标记。表示由注释块记录的成员是私有的,即,只能由同一类中的其他成员访问。

另请参阅
\memberof\public\protected\private

\property (限定属性名称)

表示注释块包含属性的文档(全局属性或作为类的成员)。此命令等同于 \fn\typedef\var

另请参阅
参见 \fn\typedef\var 部分。

\protected

表示注释块所记录的成员是受保护的,即,只能由相同或派生类中的其他成员访问。

请注意,Doxygen 会自动检测面向对象语言中成员的保护级别。此命令仅在语言本身不支持保护级别概念时(例如,C、PHP 4)使用。

要开始一个受保护成员的部分,其方式类似于 C++ 中的 "protected:" 类标记,请使用 \protectedsection

另请参阅
参见 \memberof\public\private\protectedsection 部分。

\protectedsection

开始一个受保护成员的部分,其方式类似于 C++ 中的 "protected:" 类标记。表示注释块所记录的成员是受保护的,即,只能由相同或派生类中的其他成员访问。

另请参阅
参见 \memberof\public\private\protected 部分。

\protocol <名称> [<头文件>] [<头文件名称>]

表示注释块包含 Objective-C 中名称为 <名称> 的协议的文档。参数与 \class 命令的参数相同。

另请参阅
章节 \class

\public

表示注释块所记录的成员是公共的,即,可以被任何其他类或函数访问。

请注意,Doxygen 会自动检测面向对象语言中成员的保护级别。此命令仅在语言本身不支持保护级别概念时(例如,C、PHP 4)使用。

要开始一个公共成员的部分,其方式类似于 C++ 中的 "public:" 类标记,请使用 \publicsection

另请参阅
参见 \memberof\protected\private\publicsection 部分。

\publicsection

开始一个公共成员的部分,其方式类似于 C++ 中的 "public:" 类标记。表示注释块所记录的成员是公共的,即,可以被任何其他类或函数访问。

另请参阅
参见 \memberof\protected\private\public 部分。

\pure

表示注释块所记录的成员是纯虚函数,即,它是抽象的,并且没有与之关联的实现。

此命令仅适用于当语言本身不支持纯虚方法的概念时(例如 C、PHP 4)。


\relates <名称>

此命令可以用于非成员函数 <名称> 的文档中。它将函数放入类文档的“相关函数”部分。此命令对于记录与某个类紧密耦合的非友元函数很有用。它避免了必须记录文件的需要,但仅适用于函数。

示例
/*!
* 一个 String 类。
*/
class String
{
friend int strcmp(const String &,const String &);
};
/*!
* 比较两个字符串。
*/
int strcmp(const String &s1,const String &s2)
{
}
/*! \relates String
* 一个字符串调试函数。
*/
void stringDebug()
{
}
单击此处查看 Doxygen 生成的相应 HTML 文档。

\related <名称>

等效于 \relates


\relatesalso <名称>

此命令可以用于非成员函数 <名称> 的文档中。它将函数放入类文档的“相关函数”部分,并将其保留在正常的文档文件位置。此命令对于记录与某个类紧密耦合的非友元函数很有用。它仅适用于函数。


\relatedalso <名称>

等效于 \relatesalso


\showinitializer

默认情况下,仅当 define 的值和变量的初始化程序少于 30 行时才会显示它们。通过在 define 或变量的注释块中放置此命令,可以无条件地显示初始化程序。可以通过配置参数 MAX_INITIALIZER_LINES 更改最大初始化行数,默认值为 30。

另请参阅
参见 \hideinitializer 部分。

\static

表示注释块所记录的成员是静态的,即,它作用于类,而不是类的实例。

此命令仅适用于当语言本身不支持静态方法的概念时(例如 C)。


\struct <名称> [<头文件>] [<头文件名称>]

表示注释块包含名称为 <名称> 的结构体的文档。参数与 \class 命令的参数相同。

另请参阅
章节 \class

\typedef (typedef 声明)

表示注释块包含 typedef 的文档(全局 typedef 或作为类的成员)。此命令等同于 \fn\property\var

另请参阅
参见 \fn\property\var 部分。

\union <名称> [<头文件>] [<头文件名称>]

表示注释块包含名称为 <名称> 的联合体的文档。参数与 \class 命令的参数相同。

另请参阅
章节 \class

\var (变量声明)

表示注释块包含变量或枚举值的文档(全局变量或作为类的成员)。此命令等同于 \fn\property\typedef

请注意,对于 PHP,也可以指定变量的类型。语法与 phpDocumentor 类似,但描述必须从下一行开始,即

@var  datatype $varname
Description
另请参阅
参见 \fn\property\typedef 部分。

\vhdlflow [(流程图的标题)]

这是一个 VHDL 特有的命令,可以放在进程的文档中,以生成进程中逻辑的流程图。可以选择提供流程图的标题。

注意
目前,流程图只会出现在 HTML 输出中。

\weakgroup <名称> [(标题)]

可以像 \addtogroup 一样使用,但在解决冲突的分组定义时优先级较低。

另请参阅
参见 分组页面和 \addtogroup 部分。

--- 部分指示符 ---


\attention { 注意文本 }

开始一个段落,其中可以输入需要注意的消息。段落将缩进。段落的文本没有特殊的内部结构。所有可视化增强命令都可以在段落内使用。多个相邻的 \attention 命令将合并为一个段落。当遇到空行或其他分节命令时,\attention 命令结束。


\author { 作者列表 }

开始一个段落,其中可以输入一个或多个作者姓名。段落将缩进。段落的文本没有特殊的内部结构。所有可视化增强命令都可以在段落内使用。多个相邻的 \author 命令将合并为一个段落。每个作者描述都将开始新的一行。或者,一个 \author 命令可以提及多个作者。当遇到空行或其他分节命令时,\author 命令结束。

示例
/*!
* \brief 非常好的类。
* \details 此类用于演示多个分节命令。
* \author John Doe
* \author Jan Doe
* \version 4.1a
* \date 1990-2011
* \pre 首先初始化系统。
* \bug 删除此类的对象时,并非所有内存都会被释放。
* \warning 使用不当可能会导致应用程序崩溃
* \copyright GNU 公共许可证。
*/
class SomeNiceClass {};
单击此处查看 Doxygen 生成的相应 HTML 文档。

\authors { 作者列表 }

等效于 \author


\brief { 简要描述 }

开始一个段落,用作简短描述。对于类和文件,简短描述将用于列表和文档页面的开头。对于类和文件成员,简短描述将放置在成员的声明处,并附加到详细描述之前。简短描述可以跨越多行(尽管建议保持简短!)。当遇到空行或其他分节命令时,简短描述结束。如果存在多个 \brief 命令,它们将合并在一起。请参阅 \author 部分以获取示例。

\short 同义。


\bug { bug description }

开始一个段落,其中可以报告一个或多个错误。该段落将缩进。段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \bug 命令将合并为一个段落。每个错误描述将从新的一行开始。或者,一个 \bug 命令可以提及多个错误。当遇到空行或其他分节命令时,\bug 命令结束。请参阅 \author 部分以获取示例。

该描述还将向单独的 Bug 列表添加一个项目,并且该描述的两个实例将进行交叉引用。Bug 列表中的每个项目前面都会有一个标头,指示该项目的来源。

可以通过将 GENERATE_BUGLIST 设置为 NO 来禁用 Bug 列表和相应的条目。


\cond [(section-label)]

开始一个条件节,该条件节以对应的 \endcond 命令结束,该命令通常在另一个注释块中找到。这对命令的主要目的是(有条件地)将文件的部分内容排除在处理之外(在 Doxygen 的旧版本中,这只能使用 C 预处理器命令来实现)。

可以通过将节标签添加到 ENABLED_SECTIONS 配置选项中来包含 \cond\endcond 之间的部分。如果省略节标签,则该部分将无条件地排除在处理之外。节标签可以是节标签、圆括号、&&(与)、||(或)和!(非)组成的逻辑表达式。如果使用表达式,则需要将其包裹在圆括号中,例如 \cond (!LABEL1 && LABEL2)

对于注释块中的条件节,应使用 \if ... \endif 块。当使用 \cond 并且条件不满足时,当前的注释块将结束,并且所有内容直到匹配的 \endcond 都将被删除,并在那里开始一个新的命令块。

条件节可以嵌套。在这种情况下,只有当嵌套节及其包含的节都被包含时,才会显示嵌套节。

以下是一个示例,展示了这些命令的实际操作

/** An interface */
class Intf
{
  public:
    /** A method */
    virtual void func() = 0;

    /// @cond TEST

    /** A method used for testing */
    virtual void test() = 0;

    /// @endcond
};

/// @cond DEV
/*
 *  The implementation of the interface
 */
class Implementation : public Intf
{
  public:
    void func();

    /// @cond TEST
    void test();
    /// @endcond

    /// @cond
    /** This method is obsolete and does
     *  not show up in the documentation.
     */
    void obsolete();
    /// @endcond
};

/// @endcond

输出结果将根据 ENABLED_SECTIONS 是否包含 TESTDEV 而有所不同

另请参阅
\if\ifnot\else\elseif\endif\endcondENABLED_SECTIONS
注意
由于解析的时刻,\cond\endcond 命令不能在 ALIASES 中使用。

\copyright { copyright description }

开始一个段落,其中可以描述实体的版权。该段落将缩进。段落的文本没有特殊的内部结构。请参阅 \author 部分以获取示例。


\date { date description }

开始一个段落,其中可以输入一个或多个日期。该段落将缩进。段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \date 命令将合并为一个段落。每个日期描述将从新的一行开始。或者,一个 \date 命令可以提及多个日期。当遇到空行或其他分节命令时,\date 命令结束。请参阅 \author 部分以获取示例。


\showdate "<format>" [ <date_time> ]

根据给定的 <format> 和 <date_time> 显示日期和时间。其中 <format> 是一个字符串,其中以下标记具有特殊含义

代码描述
%y不带世纪的年份,以零填充的十进制数字表示。
%Y带世纪的年份,以十进制数字表示。
%m月份,以零填充的十进制数字表示。
%-m月份,以十进制数字表示。
%b月份,以本地化的缩写名称表示。
%B月份,以本地化的完整名称表示。
%d月份中的日期,以零填充的十进制数字表示。
%-d月份中的日期,以十进制数字表示。
%u星期几,以十进制数字 (1-7) 表示,其中星期一为 1。
%w星期几,以十进制数字 (0-6) 表示,其中星期日为 0。
%a星期几,以本地化的缩写名称表示。
%A星期几,以本地化的完整名称表示。
   
%H小时(24 小时制),以零填充的十进制数字表示。
%-H小时(24 小时制),以十进制数字表示。
%I小时(12 小时制),以零填充的十进制数字表示。
%-I小时(12 小时制),以十进制数字表示。
%M分钟,以零填充的十进制数字表示。
%-M分钟,以十进制数字表示。
%S秒,以零填充的十进制数字表示。
%-S秒,以十进制数字表示。
%p本地化的 AM 或 PM 等效项。
   
%% 一个 % 字符。

请注意,<format> 必须用双引号括起来。

如果指定了 <date_time>,则它必须具有以下表示形式

  • 可选的 date,其中 date
    • 年份的 4 位数字
    • 一个减号
    • 月份的一位或两位数字
    • 一个减号
    • 日期的一位或两位数字
  • 可选的 time,其中 time
    • 空格
    • 小时的一位或两位数字
    • 一个冒号
    • 分钟的一位或两位数字
    • 当格式包含 %S 或 %-S 时
      • 一个冒号
      • 秒的 2 位数字

如果未指定 <date_time>,则使用当前日期和时间。

这是一个示例

- \showdate "%A %d-%m-%Y" 2015-3-14
- \showdate "%a %d-%m-%y" 2015-3-14
- \showdate "%-m.%d%y" 2015-3-14
- \showdate "%A %d-%m-%Y %H:%M:%S" 2015-3-14 03:04:15
- \showdate "%A %d-%m-%Y %H:%M" 2015-3-14 03:04

如果 OUTPUT_LANGUAGE=english,则结果为

  • Saturday 14-03-2015
  • Sat 14-03-15
  • 3.1415
  • Saturday 14-03-15 03:04:15
  • Saturday 14-03-15 03:04

如果 OUTPUT_LANGUAGE=dutch,则结果为

  • zaterdag 14-03-15
  • za 14-03-2015
  • 3.1415
  • zaterdag 14-03-15 03:04:15
  • zaterdag 14-03-15 03:04

\deprecated { description }

开始一个段落,指示此文档块属于已弃用的实体。可用于描述替代方案、预期寿命等。该段落将缩进。段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \deprecated 命令将合并为一个段落。每个弃用描述将从新的一行开始。当遇到空行或其他分节命令时,\deprecated 命令结束。

该描述还将向单独的已弃用列表添加一个项目,并且该描述的两个实例将进行交叉引用。已弃用列表中的每个项目前面都会有一个标头,指示该项目的来源。

可以通过将 GENERATE_DEPRECATEDLIST 设置为 NO 来禁用已弃用列表和相应的条目。


\details { detailed description }

正如 \brief 开始简短描述一样,\details 开始详细描述。您也可以开始一个新段落(空行),这样就不需要 \details 命令。


\noop ( text to be ignored )

所有文本,包括命令,都将被忽略,直到行尾。该命令最常与 ALIASES 结合使用,以忽略例如其他处理工具中存在的不支持的命令。


\raisewarning ( text to be shown as warning )

所有文本,不包括命令,都将按字面意思显示为文档警告,直到行尾。文本(包括命令)将从输出中删除。该命令最常与 ALIASES 结合使用,以显示特定的警告。

示例
\raisewarning My specific warning

\warnNoDoc

\warnNoDoc{My specific warning}
结合使用
ALIASES  = warnNoDoc="\raisewarning Missing documentation"
ALIASES += warnNoDoc{1}="\raisewarning Incomplete documentation: \1"
将导致
   ex_1.md:1: warning: My specific warning
   ex_1.md:3: warning: Missing documentation
   ex_1.md:5: warning: Incomplete documentation: My specific warning

\else

如果之前的条件节未启用,则开始一个条件节。之前的节应该已使用 \if\ifnot\elseif 命令启动。

另请参阅
\if\ifnot\elseif\endif.

\elseif (section-label)

如果之前的节未启用,则开始一个条件文档节。默认情况下,条件节处于禁用状态。要启用它,您必须将节标签放在配置文件中 ENABLED_SECTIONS 标记之后。节标签可以是节名称、圆括号、&&(与)、||(或)和!(非)组成的逻辑表达式。条件块可以嵌套。只有当所有封闭节也启用时,才会启用嵌套节。

另请参阅
\if\ifnot\else\endif.

\endcond

结束由 \cond 启动的条件节。

另请参阅
\cond
注意
由于解析的时刻,\endcond\cond 命令不能在 ALIASES 中使用。

\endif

结束由 \if\ifnot 启动的条件节。对于每个 \if\ifnot,必须跟随一个且仅一个匹配的 \endif

另请参阅
\if\ifnot\else\elseif.

\exception <exception-object> { exception description }

为名为 <exception-object> 的异常对象开始一个异常描述。后跟异常的描述。不会检查异常对象是否存在。段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \exception 命令将合并为一个段落。每个异常描述都将在新行开始。当遇到空行或其他分节命令时,\exception 描述结束。有关示例,请参见 \fn 部分。


\if (section-label)

开始一个有条件的文档部分。该部分以匹配的 \endif 命令结束。默认情况下,条件部分处于禁用状态。要启用它,您必须将 section-label 放在配置文件中的 ENABLED_SECTIONS 标签之后。

节标签可以是节名称、圆括号、&& (AND)、|| (OR) 和 ! (NOT) 构建的逻辑表达式。如果使用表达式,则需要将其括在圆括号中,例如 \if (!LABEL1 && LABEL2)

条件块可以嵌套。只有当所有封闭部分也都启用时,才会启用嵌套部分。

\if 和对应的 \endif 必须在同一个注释块中。当一个条件块需要跨越多个注释块时,必须使用 \cond ... \endcond

示例
  /*! Unconditionally shown documentation.
   *  \if Cond1
   *    Only included if Cond1 is set.
   *  \endif
   *  \if Cond2
   *    Only included if Cond2 is set.
   *    \if Cond3
   *      Only included if Cond2 and Cond3 are set.
   *    \endif
   *    More text.
   *  \endif
   *  Unconditional text.
   */

您也可以在别名中使用条件命令。例如,要用两种语言记录一个类,您可以使用

示例 2
/*! \english
 *  This is English.
 *  \endenglish
 *  \dutch
 *  Dit is Nederlands.
 *  \enddutch
 */
class Example
{
};

其中以下别名在配置文件中定义

ALIASES  = "english=\if english" \
           "endenglish=\endif" \
           "dutch=\if dutch" \
           "enddutch=\endif"

并且 ENABLED_SECTIONS 可以用于启用 englishdutch

另请参阅
章节 \endif\ifnot\else\elseif\cond\endcondENABLED_SECTIONS

\ifnot (section-label)

开始一个有条件的文档部分。该部分以匹配的 \endif 命令结束。默认情况下,此条件部分处于启用状态。要禁用它,您必须将 section-label 放在配置文件中的 ENABLED_SECTIONS 标签之后。节标签可以是节名称、圆括号、&& (AND)、|| (OR) 和 ! (NOT) 构建的逻辑表达式。

另请参阅
章节 \endif\if\else\elseif\cond\endcondENABLED_SECTIONS

\important { 重要文本 }

开始一个段落,可以在其中输入需要重要的消息。该段落将缩进。段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \important 命令将合并为一个段落。当遇到空行或其他分节命令时,\important 命令结束。


\invariant { 不变量的描述 }

开始一个段落,可以在其中描述实体的不变量。该段落将缩进。段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \invariant 命令将合并为一个段落。每个不变量描述都将在新行开始。或者,一个 \invariant 命令可以提及多个不变量。当遇到空行或其他分节命令时,\invariant 命令结束。


\note { 文本 }

开始一个段落,可以在其中输入注释。该段落将缩进。段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \note 命令将合并为一个段落。每个注释描述都将在新行开始。或者,一个 \note 命令可以提及多个注释。当遇到空行或其他分节命令时,\note 命令结束。有关示例,请参见 \par 部分。


\par [(段落标题)] { 段落 }

如果给出了段落标题,则此命令将以用户定义的标题开始一个段落。标题延伸到该行末尾。该命令之后的段落将缩进。

如果没有给出段落标题,则此命令将开始一个新段落。这也可以在其他段落命令(如 \param\warning)中使用,而不会结束该命令。

段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。当遇到空行或其他分节命令时,\par 命令结束。

示例
/*! \class Par_Test
* 普通文本。
*
* \par 用户定义的段落
* 段落的内容。
*
* \par
* 同一标题下的新段落。
*
* \note
* 此注释由两个段落组成。
* 这是第一个段落。
*
* \par
* 这是第二个段落。
*
* 更多普通文本。
*/
class Par_Test {};
点击此处获取 Doxygen 生成的相应 HTML 文档。

\param[<dir>] <parameter-name> { 参数描述 }

为名为 <parameter-name> 的函数参数开始一个参数描述,后跟参数的描述。将检查参数是否存在,如果缺少此(或任何其他)参数的文档,或者该参数不存在于函数声明或定义中,则会发出警告。

\param 命令有一个可选属性 <dir>,指定参数的方向。可能的值为 “[in]”、“[out]” 和 “[in,out]”;请注意此描述中的 [方括号]。对于双向值,可以按任何顺序指定方向 “in” 和 “out”,并且可以将它们写在一起,或者用逗号 (,) 或空格分隔。这意味着例如值 “[outin]” 或 “[in out]” 也是有效的。请注意,也可以在命令和 <dir> 之间放置空格。当一个参数既是输入又是输出时,[in,out] 用作属性。以下是函数 memcpy 的示例:

/*!
* 将字节从源内存区域复制到目标内存区域,
* 其中两个区域可能不重叠。
* @param[out] dest 要复制到的内存区域。
* @param[in] src 要从中复制的内存区域。
* @param[in] n 要复制的字节数
*/
void memcpy(void *dest, const void *src, size_t n);

参数描述是一个没有特殊内部结构的段落。所有视觉增强命令都可以在段落内使用。

多个相邻的 \param 命令将合并为一个段落。每个参数描述都将在新行开始。当遇到空行或其他分节命令时,\param 描述结束。有关示例,请参见 \fn 部分。

请注意,您还可以使用逗号分隔列表,用单个 \param 命令记录多个参数。这是一个示例

/** 设置位置。
* @param x,y,z 3D 空间中位置的坐标。
*/
void setPosition(double x,double y,double z,double t)
{
}

请注意,对于 PHP,还可以指定参数允许的类型(或者如果用管道符号分隔,则指定多个类型),因为这不是定义的一部分。语法与 phpDocumentor 的语法相同,即

@param  datatype1|datatype2 $paramname description

\parblock

对于期望单个段落作为参数的命令(例如 \par\param\warning),\parblock 命令允许开始一个跨多个段落的描述,该描述然后以 \endparblock 结束。

示例

/** Example of a param command with a description consisting of two paragraphs
 *  \param p
 *  \parblock
 *  First paragraph of the param description.
 *
 *  Second paragraph of the param description.
 *  \endparblock
 *  Rest of the comment block continues.
 */

请注意,\parblock 命令也可能直接出现在 \param 的第一个参数之后。


\endparblock

这结束了以 \parblock 开头的一段段落。


\tparam <模板参数名称> { 描述 }

为类或函数模板参数开始一个模板参数,名称为 <模板参数名称>,后跟模板参数的描述。

否则,与 \param 类似。


\post { 后置条件的描述 }

开始一个段落,可以在其中描述实体的后置条件。该段落将缩进。段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \post 命令将合并为一个段落。每个后置条件都将在新行开始。或者,一个 \post 命令可以提及多个后置条件。当遇到空行或其他分节命令时,\post 命令结束。


\pre { 前置条件的描述 }

开始一个段落,可以在其中描述实体的前置条件。该段落将缩进。段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \pre 命令将合并为一个段落。每个前置条件都将在新行开始。或者,一个 \pre 命令可以提及多个前置条件。当遇到空行或其他分节命令时,\pre 命令结束。


\remark { 备注文本 }

开始一个段落,可以在其中输入一个或多个备注。该段落将缩进。段落的文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \remark 命令将合并为一个段落。每个备注都将在新行开始。或者,一个 \remark 命令可以提及多个备注。当遇到空行或其他分节命令时,\remark 命令结束。


\remarks { 备注文本 }

等同于 \remark


\result { 结果值的描述 }

等同于 \return


\return { 返回值的描述 }

开始描述函数的返回值。段落文本没有特殊的内部结构。所有视觉增强命令都可以在段落内部使用。多个相邻的 \return 命令将合并成一个段落。当遇到空行或其他分节命令时,\return 描述结束。参见 \fn 部分的示例。


\returns { 返回值的描述 }

等同于 \return


\retval <返回值> { 描述 }

开始描述函数的返回值,名称为 <返回值>,后跟返回值的描述。构成描述的段落文本没有特殊的内部结构。所有视觉增强命令都可以在段落内部使用。多个相邻的 \retval 命令将合并成一个段落。每个返回值描述将从新的一行开始。当遇到空行或其他分节命令时,\retval 描述结束。


\sa { 引用 }

开始一个段落,其中可以指定一个或多个对类、函数、方法、变量、文件或 URL 的交叉引用。由 ::# 连接的两个名称被理解为引用一个类及其成员之一。可以通过在方法名称后包含带括号的参数类型列表来选择多个重载方法或构造函数之一。

\see 同义。

另请参阅
有关如何创建对象链接的信息,请参阅 autolink 部分。

\see { 引用 }

等同于 \sa。为与 Javadoc 兼容而引入。


\short { 简短描述 }

等同于 \brief


\since { 文本 }

此命令可用于指定实体可用的时间(版本或时间)。 \since 之后的段落没有任何特殊的内部结构。所有视觉增强命令都可以在段落内部使用。当遇到空行或其他分节命令时,\since 描述结束。


\test { 描述测试用例的段落 }

开始一个段落,其中可以描述一个或多个测试用例。该段落将缩进。段落文本没有特殊的内部结构。所有视觉增强命令都可以在段落内部使用。多个相邻的 \test 命令将合并成一个段落。每个测试用例描述将从新的一行开始。或者,一个 \test 命令可以提及多个测试用例。当遇到空行或其他分节命令时,\test 命令结束。

该描述还将向单独的测试列表添加一个条目,并且该描述的两个实例将交叉引用。测试列表中的每个条目都将以指示条目来源的标题开头。

可以通过将 GENERATE_TESTLIST 设置为 NO 来禁用测试列表和相应的条目。


\throw <异常对象> { 异常描述 }

\exception 同义。

注意
命令 \throws 是此命令的同义词。
另请参阅
请参阅 \exception 部分

\throws <异常对象> { 异常描述 }

等同于 \throw


\todo { 描述待办事项的段落 }

开始一个段落,其中描述一个或多个待办事项。该段落将缩进。段落文本没有特殊的内部结构。所有视觉增强命令都可以在段落内部使用。多个相邻的 \todo 命令将合并成一个段落。每个待办事项描述将从新的一行开始。或者,一个 \todo 命令可以提及多个待办事项描述。当遇到空行或其他分节命令时,\todo 命令结束。

该描述还将向单独的待办事项列表添加一个条目,并且该描述的两个实例将交叉引用。待办事项列表中的每个条目都将以指示条目来源的标题开头。

可以通过将 GENERATE_TODOLIST 设置为 NO 来禁用待办事项列表和相应的条目。


\version { 版本号 }

开始一个段落,其中可以输入一个或多个版本字符串。该段落将缩进。段落文本没有特殊的内部结构。所有视觉增强命令都可以在段落内部使用。多个相邻的 \version 命令将合并成一个段落。每个版本描述将从新的一行开始。或者,一个 \version 命令可以提及多个版本字符串。当遇到空行或其他分节命令时,\version 命令结束。参见 \author 部分的示例。


\warning { 警告消息 }

开始一个段落,其中可以输入一个或多个警告消息。该段落将缩进。段落文本没有特殊的内部结构。所有视觉增强命令都可以在段落内部使用。多个相邻的 \warning 命令将合并成一个段落。每个警告描述将从新的一行开始。或者,一个 \warning 命令可以提及多个警告。当遇到空行或其他分节命令时,\warning 命令结束。参见 \author 部分的示例。


\xrefitem <键> "标题" "列表标题" { 文本 }

此命令是诸如 \todo\bug 之类的命令的泛化。它可以用于创建用户定义的文本部分,这些文本部分在出现位置和将生成的相关页面之间自动交叉引用。在相关页面上,将收集所有相同类型的段落。

第一个参数 <键> 是一个唯一标识段落类型的标识符。第二个参数是一个带引号的字符串,表示段落的标题,传递的文本作为第四个参数放置在该标题下。第三个参数(列表标题)用作包含所有具有相同键的项的相关页面的标题。第二个和第三个字符串参数不能包含换行符。 "todo""test""bug""deprecated" 这些键是预定义的。

要了解如何使用 \xrefitem 命令及其效果,请考虑待办事项列表,该列表(对于英文输出)可以看作是以下命令的别名

\xrefitem todo "Todo" "Todo List" 

由于为每个段落重复该命令的前三个参数非常繁琐且容易出错,因此该命令旨在与配置文件中的 ALIASES 选项结合使用。例如,要定义一个新命令 \reminder,应在配置文件中添加以下行

ALIASES += "reminder=\xrefitem reminders \"Reminder\" \"Reminders\"" 

请注意,\xrefitem 命令的第二个和第三个参数使用了转义引号。

如果参数“(标题)”为空字符串,则不会生成标题。当与 \page 命令结合使用时,这可能很有用,例如

/** @page my_errors My Errors
 *  @brief Errors page
 *
 *  Errors page contents.
 */

/** \error ERROR 101: in case a file can not be opened.
    Check about file system read/write access. */
#define MY_ERR_CANNOT_OPEN_FILE                   101

/** \error ERROR 102: in case a file can not be closed.
    Check about file system read/write access. */
#define MY_ERR_CANNOT_CLOSE_FILE                  102

其中 \error 定义为

ALIASES += "error=\xrefitem my_errors \"\" \"\"" 

--- 用于创建链接的命令 ---


\addindex (文本)

此命令将(文本)添加到 {\LaTeX} 、DocBook 和 RTF 索引中。


\anchor <单词>

此命令将一个不可见的、命名的锚点放置在文档中,您可以使用 \ref 命令引用该锚点。

另请参阅
请参阅 \ref 部分。

\cite <标签>

在文本和参考书目列表中添加参考书目。 <标签> 必须是在 CITE_BIB_FILES 中列出的 .bib 文件之一中找到的有效 BibTeX 标签。对于 {\LaTeX} 输出,文本中引用的格式可以使用 LATEX_BIB_STYLE 进行配置。对于其他输出格式,将使用固定的表示形式。请注意,使用此命令需要搜索路径中存在 bibtex 工具。


\endlink

此命令结束由 \link 命令启动的链接。

另请参阅
请参阅 \link 部分。

\link <链接对象>

Doxygen 自动生成的链接始终以它们指向的对象的名称作为链接文本。

\link 命令可用于创建指向对象(文件、类或成员)的链接,并使用用户指定的链接文本。链接命令应以 \endlink 命令结束。 \link\endlink 命令之间的所有文本都用作指向作为 \link 的第一个参数指定的 <链接对象> 的链接文本。

另请参阅
有关自动生成链接和有效的链接对象的更多信息,请参阅 autolink 部分。

\ref <名称> ["(文本)"]

创建对命名符号、文件、段落、子段落、页面或锚点的引用。

对于 HTML 文档,引用命令将生成指向该段落的链接。对于段落或子段落,该段落的标题将用作链接的文本。对于锚点,将使用引号之间的可选文本,如果没有指定文本,则使用 <名称>。

如果 <名称> 有空格(例如,如果它引用包含空格的文件名),则需要在 <名称> 周围添加双引号,例如“my file.md”。

对于 {\LaTeX} 文档,引用命令将相同,除非 PDF_HYPERLINKS 选项设置为 NO,在这种情况下,它将为段落生成段落标题,或者如果 <名称> 引用锚点,则生成文本,后跟页码。

另请参阅
有关 \ref 命令的示例,请参阅 \page 部分。

\refitem <名称>

\ref 命令一样,此命令创建对命名段落的引用,但此引用将显示在由 \secreflist 启动并以 \endsecreflist 结束的列表中。可以在 页面顶部 看到此类列表的示例。


\secreflist

启动一个条目索引列表,使用 \refitem 创建,每个条目链接到一个指定的节。


\endsecreflist

结束由 \secreflist 启动的索引列表。


\subpage <名称> ["(文本)"]

此命令可用于创建页面的层级结构。可以使用 \defgroup\ingroup 命令创建相同的结构,但对于页面,\subpage 命令通常更方便。主页面(参见 \mainpage)通常是层级结构的根。

此命令的行为类似于 \ref,因为它创建对标记为 <名称> 的页面的引用,并带有在第二个参数中指定的可选链接文本。

它与 \ref 命令的不同之处在于,它仅适用于页面,并在页面之间创建父子关系,其中子页面(或子页面)由标签 <名称> 标识。

如果要添加结构而不创建多个页面,请参阅 \section\subsection 命令。

注意
每个页面只能是一个其他页面的子页面,并且不允许循环关系,即页面层级结构必须具有树形结构。

这是一个示例

/*! \mainpage A simple manual

Some general info.

This manual is divided in the following sections:
- \subpage intro
- \subpage advanced "Advanced usage"
*/

//-----------------------------------------------------------

/*! \page intro Introduction
This page introduces the user to the topic.
Now you can proceed to the \ref advanced "advanced section".
*/

//-----------------------------------------------------------

/*! \page advanced Advanced Usage
This page is for advanced users.
Make sure you have first read \ref intro "the introduction".
*/

\tableofcontents['{'[option[:level]][,option[:level]]*'}']

在页面顶部创建一个目录,列出页面中的所有节和小节。option 可以是 HTMLLaTeXXMLDocBook。当指定 level 时,表示显示的最大嵌套级别。level 的值应在 1..6 范围内,超出此范围的值将被视为 6。如果未指定 level,则 level 设置为 6(显示所有)。如果未指定 option,则 \tableofcontents 的行为就像仅指定了 option HTMLXML 一样。如果一个页面中有多个 \tableofcontents 命令,则 option 将添加到已指定的 option 中,但只有 option 的最后一个 level 有效。

警告
此命令仅在相关的页面文档中有效,而不是在其他文档块中有效,并且仅在指定的输出中有效!

\section <节名称> (节标题)

创建一个名为 <节名称> 的节。节的标题应指定为 \section 命令的第二个参数。

警告
此命令仅在相关的页面文档中有效,而不是在其他文档块中有效!
另请参阅
有关 \section 命令的示例,请参阅 \page

\subsection <小节名称> (小节标题)

创建一个名为 <小节名称> 的小节。小节的标题应指定为 \subsection 命令的第二个参数。

警告
此命令仅在相关页面文档块的节中有效,而不是在其他文档块中有效!
另请参阅
有关 \subsection 命令的示例,请参阅 \page

\subsubsection <子小节名称> (子小节标题)

创建一个名为 <子小节名称> 的子小节。子小节的标题应指定为 \subsubsection 命令的第二个参数。

警告
此命令仅在相关页面文档块的小节中有效,而不是在其他文档块中有效!
另请参阅
有关 \section 命令和 \subsection 命令的示例,请参阅 \page

\paragraph <段落名称> (段落标题)

创建一个名为 <段落名称> 的命名段落。段落的标题应指定为 \paragraph 命令的第二个参数。

警告
此命令仅在相关页面文档块的子小节中有效,而不是在其他文档块中有效!

\subparagraph <子段落名称> (子段落标题)

创建一个名为 <子段落名称> 的命名子段落。子段落的标题应指定为 \subparagraph 命令的第二个参数。

警告
此命令仅在相关页面文档块的段落中有效,而不是在其他文档块中有效!

\subsubparagraph <子子段落名称> (子子段落标题)

创建一个名为 <子子段落名称> 的命名子子段落。子子段落的标题应指定为 \subsubparagraph 命令的第二个参数。

警告
此命令仅在相关页面文档块的子段落中有效,而不是在其他文档块中有效!

--- 用于显示示例的命令 ---


\dontinclude['{lineno}'] <文件名>

此命令可用于解析源文件,而无需像 \include 命令那样将其逐字包含在文档中。如果要将源文件分成更小的片段并在片段之间添加文档,这将很有用。可以使用 Doxygen 的配置文件中的 EXAMPLE_PATH 标签指定源文件或目录。

您可以添加选项 lineno 以便为包含的代码启用行号(如果需要)。

您可以添加选项 strip,该选项将始终隐藏包含代码中的任何特殊注释,从而覆盖 STRIP_CODE_COMMENTS 设置,或者添加选项 nostrip 以始终显示特殊注释。

在解析包含 \dontinclude 命令的注释块期间,代码片段中的类和成员声明和定义会被“记住”。

对于源文件的逐行描述,可以使用 \line\skip\skipline\until 命令显示示例的一行或多行。内部指针用于这些命令。\dontinclude 命令将指针设置为示例的第一行。

示例
/*! 一个测试类。 */
class Include_Test
{
public:
/// 一个成员函数
void example();
};
/*! \page pag_example
* \dontinclude include_test.cpp
* 我们的主函数如下开始
* \skip main
* \until {
* 首先,我们创建一个 Include_Test 类的对象 \c t。
* \skipline Include_Test
* 然后,我们调用 example 成员函数
* \line example
* 之后,我们的小测试例程结束。
* \line }
*/
其中,示例文件 include_test.cpp 如下所示
void main()
{
Include_Test t;
t.example();
}
单击此处获取 Doxygen 生成的相应 HTML 文档。
另请参阅
部分 \line\skip\skipline\until\include

\include['{'option'}'] <文件名>

此命令可用于将源文件作为代码块包含在内。该命令将包含文件的名称作为参数。可以使用 Doxygen 的配置文件中的 EXAMPLE_PATH 标签指定源文件或目录。

如果 <文件名> 本身对于 EXAMPLE_PATH 标记指定的一组示例文件不是唯一的,则可以包含绝对路径的一部分来消除歧义。

使用 \include 命令等效于将文件插入到文档块中,并用 \code\endcode 命令将其包围。

\include 命令的主要目的是避免在由多个源文件和头文件组成的示例块中重复代码。

对于源文件的逐行描述,请结合使用 \line\skip\skipline\until 命令使用 \dontinclude 命令。

或者,可以使用 \snippet 命令仅包含源文件的片段。为此,必须标记该片段。

注意
Doxygen 的特殊命令在代码块内不起作用。但是,允许在代码块内嵌套 C 风格的注释。

option 可以是 linenodoc,并且可以另外指定 local

  • option lineno 可用于为包含的代码启用行号(如果需要)。
  • option doc 可用于将文件视为文档而不是代码。
  • option local 可用于使 Doxygen 将代码解释为好像它位于 include 命令出现的类或命名空间中,而不是全局命名空间中。
  • option strip 可用于始终隐藏包含代码中的任何特殊注释,从而覆盖 STRIP_CODE_COMMENTS 设置,并且选项 nostrip 可用于始终显示特殊注释。这些选项与 option doc 结合使用时无效。

使用选项 doc 时,还可以指定选项 raise,以将引用文件中找到的所有节提升一定数量。例如

  \include{doc,raise=1} file.dox

会将 file.dox 中找到的任何 1 级 \section 视为 2 级 \subsection,并将任何 2 级 \subsection 视为 3 级 \subsubsection,依此类推。类似地,对于 Markdown,# 节将被视为 ## 节。

此外,还有一个选项 prefix,可用于为包含的每个节的标签添加前缀,以使其保持唯一。例如

  \include{doc,prefix=fn_} file.dox

会将例如在 file.dox 中找到的 \section s1 视为好像指定为 \section fn_s1

注意
包含的文档不应包含注释符号,因为它们也会出现在文档中。
另请参阅
部分 \example\dontinclude\verbatim\includedoc\snippet

\includelineno <文件名>

此命令已过时,仍受支持以实现向后兼容,其工作方式与 \include{lineno} 相同

另请参阅
部分 \include{lineno}

\includedoc['{'option'}'] <文件名>

此命令已过时,仍受支持以实现向后兼容,其工作方式与 \include{doc} 相同

option 与使用选项 doc\include 中可以使用的 option 相同。

另请参阅
部分 \include{doc}

\line ( 模式 )

此命令在最后使用 \include\dontinclude 包含的示例中逐行搜索,直到找到非空白行。如果该行包含指定的模式,则将其写入输出。

用于跟踪示例中当前行的内部指针,设置为找到的非空白行之后的行的开头(如果找不到这样的行,则设置为示例的末尾)。

有关示例,请参阅 \dontinclude 部分。


\skip ( 模式 )

此命令逐行搜索上次使用 \include\dontinclude 包含的示例,直到找到包含指定模式的行。

用于跟踪示例中当前行的内部指针会设置为包含指定模式的行的开头(如果未找到模式,则设置为示例的末尾)。

有关示例,请参阅 \dontinclude 部分。


\skipline ( 模式 )

此命令逐行搜索上次使用 \include\dontinclude 包含的示例,直到找到包含指定模式的行。然后,它将该行写入输出。

用于跟踪示例中当前行的内部指针会设置为写入行的下一行的开头(如果未找到模式,则设置为示例的末尾)。

注意
该命令
\skipline pattern
等效于
\skip pattern
\line pattern

有关示例,请参阅 \dontinclude 部分。


\snippet['{'选项'}'] <文件名> ( 代码块 ID )

\include 命令可用于包含完整的文件作为源代码,而此命令可用于仅引用源文件的片段。如果将 this 用作 <文件名>,则将当前文件作为提取片段的文件。

例如,在文档中放入以下命令,会引用位于子目录中的文件 example.cpp 中的片段,该子目录应由 EXAMPLE_PATH 指向。

  \snippet snippets/example.cpp Adding a resource

文件名后面的文本是片段的唯一标识符。它用于分隔相关片段文件中的引用代码,如下面的示例所示,该示例对应于上面的 \snippet 命令

QImage image(64, 64, QImage::Format_RGB32);
image.fill(qRgb(255, 160, 128));
//! [添加资源]
document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image));
//! [添加资源]
...

请注意,包含代码块标记的行将不会被包含,因此输出将是

document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image));

另请注意,[代码块 ID] 标记在源文件中应正好出现两次。

选项可以是 linenotrimleftdoc,还可以指定 local

  • option lineno 可用于为包含的代码启用行号(如果需要)。
  • 选项 trimleft 可用于删除所有行前面的公共空格(同时考虑 TAB_SIZE 标记的设置)。
  • option doc 可用于将文件视为文档而不是代码。
  • option local 可用于使 Doxygen 将代码解释为好像它位于 include 命令出现的类或命名空间中,而不是全局命名空间中。
  • option strip 可用于始终隐藏包含代码中的任何特殊注释,从而覆盖 STRIP_CODE_COMMENTS 设置,并且选项 nostrip 可用于始终显示特殊注释。这些选项与 option doc 结合使用时无效。

使用选项 doc 时,还可以指定选项 raise,以将引用文件中找到的所有节提升一定数量。例如

 \snippet{doc,raise=1} file.dox XXX

会将片段中找到的任何 1 级 \section 视为 2 级 \subsection,并将任何 2 级 \subsection 视为 3 级 \subsubsection,依此类推。类似地,对于 Markdown,# 节将被视为 ## 节。

此外,还有一个选项 prefix,可用于为包含的每个节的标签添加前缀,以使其保持唯一。例如

 \include{doc,prefix=fn_} file.dox

会将例如在 file.dox 中找到的 \section s1 视为好像指定为 \section fn_s1

注意
包含的文档不应包含注释符号,因为它们也会出现在文档中。

有关包含源文件片段的替代方法(不需要标记),请参见 \dontinclude 节。


\snippetlineno <文件名> ( 代码块 ID )

此命令已过时,但仍出于向后兼容性原因而受支持,它的工作方式与 \snippet{lineno} 相同

另请参阅
请参阅 \snippet{lineno} 部分

\snippetdoc['{'选项'}'] <文件名> ( 代码块 ID )

此命令已过时,但仍出于向后兼容性原因而受支持,它的工作方式与 \snippet{doc} 相同

选项与使用 \snippet 时使用 doc 选项时可用的 选项相同。

另请参阅
请参阅 \snippet{doc}\include{doc} 部分。

\until ( 模式 )

此命令将上次使用 \include\dontinclude 包含的示例中的所有行写入输出,直到找到包含指定模式的行。包含模式的行也将被写入。

用于跟踪示例中当前行的内部指针会设置为最后写入的行后面的行的开头(如果未找到模式,则设置为示例的末尾)。

有关示例,请参阅 \dontinclude 部分。


\verbinclude <文件名>

此命令将文件 <文件名> 的内容逐字包含在文档中。该命令等效于将文件的内容粘贴到文档中,并在其周围放置 \verbatim\endverbatim 命令。

可以使用 Doxygen 配置文件的 EXAMPLE_PATH 标记来指定 Doxygen 应查找的文件或目录。


\htmlinclude['[block]'] <文件名>

此命令按原样将文件 <文件名> 的内容包含在 HTML 文档中,并在生成的 XML 输出中标记为 <htmlonly>。该命令等效于将文件的内容粘贴到文档中,并在其周围放置 \htmlonly\endhtmlonly 命令。

通常,由 \htmlinclude 指示的文件内容按原样插入。如果要插入具有块作用域的 HTML 片段(如应出现在 <p>..</p> 之外的表格或列表),这可能会导致 HTML 无效。可以使用 \htmlinclude[block] 使 Doxygen 结束当前段落并在包含文件后重新开始。

可以使用 Doxygen 配置文件的 EXAMPLE_PATH 标记来指定 Doxygen 应查找的文件或目录。

另请参阅
请参阅 \htmlonly\latexinclude\rtfinclude\maninclude\docbookinclude\xmlinclude 部分。

\latexinclude <文件名>

此命令按原样将文件 <文件名> 的内容包含在 {\LaTeX} 文档中,并在生成的 XML 输出中标记为 <latexonly>。该命令等效于将文件的内容粘贴到文档中,并在其周围放置 \latexonly\endlatexonly 命令。

可以使用 Doxygen 配置文件的 EXAMPLE_PATH 标记来指定 Doxygen 应查找的文件或目录。

另请参阅
请参阅 \latexonly\htmlinclude\rtfinclude\maninclude\docbookinclude\xmlinclude 部分。

\rtfinclude <文件名>

此命令按原样将文件 <文件名> 的内容包含在 RTF 文档中,并在生成的 XML 输出中标记为 <rtfonly>。该命令等效于将文件的内容粘贴到文档中,并在其周围放置 \rtfonly\endrtfonly 命令。

可以使用 Doxygen 配置文件的 EXAMPLE_PATH 标记来指定 Doxygen 应查找的文件或目录。

另请参阅
请参阅 \rtfonly\htmlinclude\latexinclude\maninclude\docbookinclude\xmlinclude 部分。

\maninclude <文件名>

此命令按原样将文件 <文件名> 的内容包含在 MAN 文档中,并在生成的 XML 输出中标记为 <manonly>。该命令等效于将文件的内容粘贴到文档中,并在其周围放置 \manonly\endmanonly 命令。

可以使用 Doxygen 配置文件的 EXAMPLE_PATH 标记来指定 Doxygen 应查找的文件或目录。

另请参阅
请参阅 \manonly\htmlinclude\latexinclude\rtfinclude\docbookinclude\xmlinclude 部分。

\docbookinclude <文件名>

此命令按原样将文件 <文件名> 的内容包含在 DocBook 文档中,并在生成的 XML 输出中标记为 <docbookonly>。该命令等效于将文件的内容粘贴到文档中,并在其周围放置 \docbookonly\enddocbookonly 命令。

可以使用 Doxygen 配置文件的 EXAMPLE_PATH 标记来指定 Doxygen 应查找的文件或目录。

另请参阅
请参阅 \docbookonly\htmlinclude\latexinclude\rtfinclude\maninclude\xmlinclude 部分。

\xmlinclude <文件名>

此命令按原样将文件 <文件名> 的内容包含在 XML 文档中。该命令等效于将文件的内容粘贴到文档中,并在其周围放置 \xmlonly\endxmlonly 命令。

可以使用 Doxygen 配置文件的 EXAMPLE_PATH 标记来指定 Doxygen 应查找的文件或目录。

另请参阅
请参阅 \xmlonly\htmlinclude\latexinclude\rtfinclude\maninclude\docbookinclude 部分。

--- 用于视觉增强的命令 ---

\a <单词>

以斜体显示参数 <单词>。使用此命令来强调单词。使用此命令在正文中引用成员参数。

示例
  ... the \a x and \a y coordinates are used to ...
这将产生以下文本

... 使用 xy 坐标来 ...

等效于 \e\em。要强调多个单词,请使用 <em>多个单词</em>


\arg { 项目描述 }

此命令有一个参数,该参数持续到第一个空行或遇到另一个 \arg 为止。该命令可用于生成一个简单的非嵌套参数列表。每个参数应以 \arg 命令开头。

示例
键入
  \arg \c AlignLeft left alignment.
  \arg \c AlignCenter center alignment.
  \arg \c AlignRight right alignment

  No other types of alignment are supported.
将产生以下文本

  • AlignLeft 左对齐。
  • AlignCenter 居中对齐。
  • AlignRight 右对齐

不支持其他类型的对齐。
注意
对于嵌套列表,应使用 HTML 命令。

等效于 \li


\b <单词>

使用粗体字体显示参数 <单词>。等效于 <b>单词</b>。要以粗体显示多个单词,请使用 <b>多个单词</b>


\c <单词>

使用打字机字体显示参数 <单词>。使用此命令引用代码中的单词。等效于 <tt>单词</tt>

示例
键入
     ... This function returns \c void and not \c int ...
将产生以下文本

... 此函数返回 void 而不是 int ...

等效于 \p。要以打字机字体显示多个单词,请使用 <tt>多个单词</tt>


\code['{'<单词>'}']

启动代码块。代码块与普通文本的处理方式不同。它被解释为源代码。类和成员的名称以及其他文档化实体会自动替换为指向文档的链接。

默认情况下,语法高亮所使用的语言是基于 \code 代码块所在的位置推断的。例如,如果代码块位于 Python 文件中,则语法高亮将按照 Python 语法进行。

如果从上下文中无法明确判断是哪种语言(例如,注释位于 .txt.markdown 文件中),则可以通过在代码块后的大括号内添加 Doxygen 通常与该语言关联的文件扩展名来显式指定语言。下面是一个示例:

  \code{.py}
  class Python:
     pass
  \endcode

  \code{.cpp}
  class Cpp {};
  \endcode

如果代码块的内容是 Doxygen 无法解析的语言,Doxygen 将按原样显示输出。您可以使用 .unparsed 来明确说明这一点,或者使用 Doxygen 不支持的其他扩展名,例如:

  \code{.unparsed}
  Show this as-is please
  \endcode

  \code{.sh}
  echo "This is a shell script"
  \endcode
另请参阅
请参见 \endcode\verbatim 部分。

\copydoc <链接对象>

从 <链接对象> 指定的对象复制文档块,并将其粘贴到命令所在的位置。此命令可用于避免必须重复文档块的情况,或者可用于扩展继承成员的文档。

链接对象可以指向成员(类、文件或组的成员)、类、命名空间、组、页面或文件(按此顺序检查)。请注意,如果指向的对象是成员(函数、变量、typedef 等),则包含它的复合对象(类、文件或组)也应进行文档化,复制才能工作。

要复制类的成员的文档,例如,可以将以下内容放入文档中:

  /*! @copydoc MyClass::myfunction()
   *  More documentation.
   */

如果成员被重载,则应显式指定参数类型(不带空格!),如下所示:

  //! @copydoc MyClass::myfunction(type1,type2)

只有在查找文档块的上下文中需要时,才需要限定名称。

\copydoc 命令可以递归使用,但 \copydoc 关系中的循环将被打破并标记为错误。

请注意,\copydoc foo() 大致等同于执行以下操作:

  \brief \copybrief foo()
  \details \copydetails foo()

请参阅 \copybrief\copydetails,了解如何仅复制注释块的简要或详细部分。


\copybrief <链接对象>

其工作方式与 \copydoc 类似,但仅复制简要描述,而不复制详细文档。


\copydetails <链接对象>

其工作方式与 \copydoc 类似,但仅复制详细文档,而不复制简要描述。


\docbookonly

启动一个文本块,该文本块仅会逐字包含在生成的 DocBook 文档中,并在生成的 XML 输出中标记为 <docbookonly>。该文本块以 \enddocbookonly 命令结束。

另请参阅
请参见 \manonly\latexonly\rtfonly\xmlonly\htmlonly\docbookinclude 部分。

\dot ["标题"] [<尺寸指示>=<尺寸>]

启动一个文本片段,其中应包含有效的 dot 图描述。文本片段以 \enddot 结束。Doxygen 会将文本传递给 dot,并将生成的图像(和图像地图)包含到输出中。

第一个参数是可选的,可用于指定显示在图像下方的标题。即使此参数不包含任何空格,也必须用引号括起来。在显示标题之前,引号将被删除。

第二个参数也是可选的,可用于指定图像的宽度或高度。有关可能性的描述,请参阅 尺寸指示 段落和 \image 命令。

可以使用 URL 属性使图形的节点可点击。通过在 URL 值中使用 \ref 命令,可以方便地链接到 Doxygen 中的项目。下面是一个示例:

注意
使用此命令需要将 HAVE_DOT 设置为 YES
Doxygen 会创建一个临时文件,该文件会自动删除,除非将 DOT_CLEANUP 标记设置为 NO
/*! 类 B */
class B {};
/*! 类 C */
class C {};
/*! \mainpage
*
* 通过内联 dot 图表达的类关系
* \dot
* digraph example {
* node [shape=record, fontname=Helvetica, fontsize=10];
* b [ label="class B" URL="\ref B"];
* c [ label="class C" URL="\ref C"];
* b -> c [ arrowhead="open", style="dashed" ];
* }
* \enddot
* 请注意,以上图中的类是可点击的
* (在 HTML 输出中)。
*/

\emoji "名称"

此命令将生成给定名称的表情符号字符。

支持的名称也是 GitHub 支持的名称,并在此处列出:https://gist.github.com/rxaviers/7360908

您可以使用带有或不带冒号的名称,即 \emoji smile 与编写 \emoji :smile: 相同。当不支持表情符号时,将在文本中用冒号包围名称,即 \emoji unsupported 将在输出中生成 :unsupported:。Doxygen 还会给出警告消息。

有关详细信息,请参阅 表情符号支持页面


\msc ["标题"] [<尺寸指示>=<尺寸>]

启动一个文本片段,其中应包含有效的消息序列图描述。有关示例,请参阅 https://www.mcternan.me.uk/mscgen/。文本片段以 \endmsc 结束。

第一个参数是可选的,可用于指定显示在图像下方的标题。即使此参数不包含任何空格,也必须用引号括起来。在显示标题之前,引号将被删除。

第二个参数也是可选的,可用于指定图像的宽度或高度。有关可能性的描述,请参阅 尺寸指示 段落和 \image 命令。

注意
文本片段应仅包含消息序列图中 msc {...} 块内的部分(这与 \mscfile 不同)。
mscgen 现在已内置到 Doxygen 中
Doxygen 会创建一个临时文件,该文件会自动删除,除非将 DOT_CLEANUP 标记设置为 NO

下面是使用 \msc 命令的示例。

/** 发送器类。可用于向服务器发送命令。
* 接收器将通过调用 Ack() 来确认该命令。
* \msc
* Sender,Receiver;
* Sender->Receiver [label="Command()", URL="\ref Receiver::Command()"];
* Sender<-Receiver [label="Ack()", URL="\ref Ack()", ID="1"];
* \endmsc
*/
class Sender
{
public:
/** 来自服务器的确认 */
void Ack(bool ok);
};
/** 接收器类。可用于接收和执行命令。
* 执行命令后,接收器将发送确认
* \msc
* Receiver,Sender;
* Receiver<-Sender [label="Command()", URL="\ref Command()"];
* Receiver->Sender [label="Ack()", URL="\ref Sender::Ack()", ID="1"];
* \endmsc
*/
class Receiver
{
public:
/** 在服务器上执行命令 */
void Command(int commandId);
};
另请参阅
请参见 \mscfile 部分。

\startuml ['{'option[,option]'}'] ["标题"] [<尺寸指示>=<尺寸>]

启动一个文本片段,其中应包含有效的 PlantUML 图描述。有关示例,请参阅 https://plantuml.com/。文本片段以 \enduml 结束。

注意
如果要使用此命令,则需要安装 Java 和 PlantUML 的 jar 文件。在 {\LaTeX} 中使用 PlantUML 时,您必须下载更多 jar 文件,有关详细信息,请参阅 PlantUML 文档。这对于 <engine>s latexmath 也有效。PlantUML 文件的位置应使用 PLANTUML_JAR_PATH 指定。其他 jar 文件也应位于此目录中。
{\LaTeX} 中无法使用 <engine> ditaa,因为 PlantUML 仅支持 png 格式,而 Doxygen 临时需要 eps 输出。

并非所有图表都可以使用 PlantUML @startuml 命令创建,而是需要另一个 PlantUML @start... 命令。它看起来像 @start<engine>,其中当前支持以下 <engine>umlbpmwiredotditaasaltmathlatexganttmindmapwbsyamlcreolejsonflowboardgithclregexebnffileschenchronology。默认情况下,<engine>uml。可以将 <engine> 指定为选项。也可以通过选项指定用于写入生成的图像的文件,有关详细信息,请参阅第一个(可选)参数的描述。当然,只能指定一个 <engine>,并且文件名也只能指定一次。

第一个参数是可选的,并且是为了与在运行 Doxygen 之前将 PlantUML 作为预处理步骤运行的兼容性,您还可以在 \startuml 之后和花括号内作为选项添加图像文件的名称,即:

  @startuml{myimage.png} "Image Caption" width=5cm
  Alice -> Bob : Hello
  @enduml

指定图像名称后,Doxygen 将生成具有该名称的图像。如果未指定名称,Doxygen 将自动选择名称。

第二个参数是可选的,可用于指定显示在图像下方的标题。即使此参数不包含任何空格,也必须用引号括起来。在显示标题之前,引号将被删除。

第三个参数也是可选的,可用于指定图像的宽度或高度。有关可能性的描述,请参阅 尺寸指示 段落和 \image 命令。

注意
Doxygen 不直接支持 PlantUML 命令(如 @startjson),这是故意的,但是用户可以通过添加到 Doxygen 设置文件中来实现支持:
  ALIASES += startjson=@startuml{json}
  ALIASES += endjson=@enduml
Doxygen 会创建一个临时文件,该文件会自动删除,除非将 DOT_CLEANUP 标记设置为 NO

下面是使用 \startuml 命令的示例。

/** 发送器类。可用于向服务器发送命令。
* 接收器将通过调用 Ack() 来确认该命令。
* \startuml
* 发送者->接收者 : Command()
* 发送者<--接收者 : Ack()
* \enduml
*/
class Sender
{
public:
/** 来自服务器的确认 */
void Ack(bool ok);
};
/** 接收器类。可用于接收和执行命令。
* 执行命令后,接收器将发送确认
* \startuml
* 接收者<-发送者 : Command()
* 接收者-->发送者 : Ack()
* \enduml
*/
class Receiver
{
public:
/** 在服务器上执行命令 */
void Command(int commandId);
};

\dotfile <文件> ["标题"] [<尺寸指示>=<尺寸>]

将由 dot 从 <文件> 生成的图像插入到文档中。

第一个参数指定图像的文件名。Doxygen 将在您在 DOTFILE_DIRS 标签后指定的路径(或文件)中查找文件。如果找到 dot 文件,它将用作 dot 工具的输入文件。生成的图像将放入正确的输出目录。如果 dot 文件名包含空格,则必须在文件名周围加上引号("...")。

第二个参数是可选的,可用于指定显示在图像下方的标题。即使此参数不包含任何空格,也必须用引号括起来。在显示标题之前,引号将被删除。

第三个参数也是可选的,可用于指定图像的宽度或高度。有关可能性的描述,请参阅 尺寸指示 段落和 \image 命令。

注意
使用此命令需要将 HAVE_DOT 设置为 YES
另请参阅
章节 \dot

\mscfile <文件> ["标题"] [<尺寸指示>=<尺寸>]

将由 mscgen 从 <文件> 生成的图像插入到文档中。有关示例,请参见 https://www.mcternan.me.uk/mscgen/

第一个参数指定图像的文件名。Doxygen 将在您在 MSCFILE_DIRS 标签后指定的路径(或文件)中查找文件。如果找到 msc 文件,它将用作内置 mscgen 工具的输入文件。生成的图像将放入正确的输出目录。如果 msc 文件名包含空格,则必须在文件名周围加上引号("...")。

第二个参数是可选的,可用于指定显示在图像下方的标题。即使此参数不包含任何空格,也必须用引号括起来。在显示标题之前,引号将被删除。

第三个参数也是可选的,可用于指定图像的宽度或高度。有关可能性的描述,请参阅 尺寸指示 段落和 \image 命令。

注意
文本片段应包含序列图的消息部分以及起始 msc { 和结束 } (这与 \msc 不同)。
另请参阅
章节 \msc

\diafile <文件> ["标题"] [<尺寸指示>=<尺寸>]

将由 dia 从 <文件> 生成的图像插入到文档中。

第一个参数指定图像的文件名。Doxygen 将在您在 DIAFILE_DIRS 标签后指定的路径(或文件)中查找文件。如果找到 dia 文件,它将用作 dia 的输入文件。生成的图像将放入正确的输出目录。如果 dia 文件名包含空格,则必须在文件名周围加上引号("...")。

第二个参数是可选的,可用于指定显示在图像下方的标题。即使此参数不包含任何空格,也必须用引号括起来。在显示标题之前,引号将被删除。

第三个参数也是可选的,可用于指定图像的宽度或高度。有关可能性的描述,请参阅 尺寸指示 段落和 \image 命令。


\doxyconfig <配置选项>

显示当处理此命令时,Doxygen 的配置文件中使用的配置选项 <配置选项> 的值。

示例
在创建此手册时,以下内容
  ... Project name = \doxyconfig PROJECT_NAME ...
给出
... 项目名称 = Doxygen ...

\e <单词>

以斜体显示参数 <单词>。使用此命令来强调单词。

示例
键入
  ... this is a \e really good example ...
将产生以下文本

... 这是一个 真的 很好的例子 ...

等效于 \a\em。要强调多个单词,请使用 <em>多个单词</em>


\em <单词>

以斜体显示参数 <单词>。使用此命令来强调单词。

示例
键入
  ... this is a \em really good example ...
将产生以下文本

... 这是一个 真的 很好的例子 ...

等效于 \a\e。要强调多个单词,请使用 <em>多个单词</em>


\endcode

结束代码块。

另请参阅
章节 \code

\enddocbookonly

结束以 \docbookonly 命令开始的文本块。

另请参阅
章节 \docbookonly

\enddot

结束以 \dot 开始的块。


\endmsc

结束以 \msc 开始的块。


\enduml

结束以 \startuml 开始的块。


\plantumlfile <文件> ["标题"] [<尺寸指示>=<尺寸>]

将由 PlantUml 从 <文件> 生成的图像插入到文档中。

第一个参数指定图像的文件名。Doxygen 将在您在 PLANTUMLFILE_DIRS 标签后指定的路径(或文件)中查找文件。如果找到 plantuml 文件,它将用作 plantuml 程序的输入文件。生成的图像将放入正确的输出目录。如果 plantuml 文件名包含空格,则必须在文件名周围加上引号("...")。

第二个参数是可选的,可用于指定显示在图像下方的标题。即使此参数不包含任何空格,也必须用引号括起来。在显示标题之前,引号将被删除。

第三个参数也是可选的,可用于指定图像的宽度或高度。有关可能性的描述,请参阅 尺寸指示 段落和 \image 命令。


\endhtmlonly

结束以 \htmlonly 命令开始的文本块。

另请参阅
章节 \htmlonly

\endlatexonly

结束以 \latexonly 命令开始的文本块。

另请参阅
章节 \latexonly

\endmanonly

结束以 \manonly 命令开始的文本块。

另请参阅
章节 \manonly

\endrtfonly

结束以 \rtfonly 命令开始的文本块。

另请参阅
章节 \rtfonly

\endverbatim

结束以 \verbatim 命令开始的文本块。

另请参阅
章节 \verbatim

\endxmlonly

结束以 \xmlonly 命令开始的文本块。

另请参阅
章节 \xmlonly

\f$

标记内联公式的开始和结束。

另请参阅
有关示例,请参见章节 formulas

\f(

标记内联公式的开始,但与 \f$ 相反,它不会在 {\LaTeX} 中显式打开数学模式。

另请参阅
章节 \f) 和章节 formulas

\f)

标记以 \f( 开始的内联公式的结束。

另请参阅
章节 \f( 和章节 formulas

\f[

标记在单独一行上居中显示的较长公式的开始。

另请参阅
章节 \f] 和章节 formulas

\f]

标记在单独一行上居中显示的较长公式的结束。

另请参阅
章节 \f[ 和章节 formulas

\f{environment}{

标记特定环境中公式的开始。

注意
第二个 { 是可选的,仅用于帮助编辑器(如 Vim)通过使左括号和右括号的数量相同来进行正确的语法突出显示。
另请参阅
章节 \f} 和章节 formulas

\f}

标记特定环境中公式的结束。

另请参阅
章节 \f{ 和章节 formulas

\htmlonly['[block]']

开始一个文本块,该文本块仅逐字包含在生成的 HTML 文档中,并在生成的 XML 输出中标记为 <htmlonly>。该块以 \endhtmlonly 命令结束。

此命令可用于包含对于 Doxygen 来说过于复杂的 HTML 代码(即小程序、java 脚本和需要特定属性的 HTML 标签)。

通常,\htmlonly\endhtmlonly 之间的内容按原样插入。当您想插入具有块作用域的 HTML 片段(例如应在 <p>..</p> 之外显示的表格或列表)时,这可能会导致无效的 HTML。您可以使用 \htmlonly[block] 来使 Doxygen 结束当前段落并在 \endhtmlonly 后重新开始。

注意
环境变量(如 $(HOME))在仅 HTML 块内解析。
另请参阅
章节 \manonly, \latexonly, \rtfonly, \xmlonly, \docbookonly, 和 \htmlinclude

\image['{'选项[,选项]'}'] <格式> <文件> ["标题"] [<尺寸指示>=<尺寸>]

将图像插入到文档中。此命令是特定于格式的,因此如果您想插入多个格式的图像,则必须对每种格式重复此命令。

第一个参数指定应嵌入图像的输出格式。目前,支持以下值:htmllatexdocbookrtfxml

第二个参数指定图像的文件名。Doxygen 将在您在 IMAGE_PATH 标签后指定的路径(或文件)中查找文件。如果找到图像,它将被复制到正确的输出目录。如果图像名称包含空格,则必须在名称周围加上引号("...")。您也可以指定绝对 URL 而不是文件名,但 Doxygen 不会复制该图像,也不会检查其是否存在。

第三个参数是可选的,可用于指定显示在图像下方的标题。此参数必须在单行中指定,并且必须用引号引起来,即使它不包含任何空格。在显示标题之前会删除引号。

第四个参数也是可选的,可用于指定图像的宽度或高度。这对于 {\LaTeX} 或 DocBook 输出(即 format=latex 或 format=docbook)很有用。

尺寸指示
sizeindication 可以指定要使用的宽度或高度(或两者的组合)。尺寸说明符在 {\LaTeX} 中(例如 10cm4in 或像 \textwidth 这样的符号宽度)。

目前仅支持 inlineanchor 选项。如果指定了 inline 选项,图像将“在行内”放置,当存在标题时,它将在 HTML 中显示为工具提示(对于其他格式则忽略)。对于 anchor 选项,语法是:anchor:<anchorId>

这是一个注释块的示例

  /*! Here is a snapshot of my new application:
   *  \image html application.jpg
   *  \image latex application.eps "My application" width=10cm
   */

这是配置文件相关部分的示例

  IMAGE_PATH     = my_image_dir
警告
HTML 的图像格式受限于您的浏览器支持。
对于 {\LaTeX},图像格式必须受 {\LaTeX} \includegraphics 命令支持,即封装的 PostScript (eps)、可移植网络图形 (png)、联合图像专家组 (jpg / jpeg)。

Doxygen 不会检查图像格式是否正确。所以必须确保情况如此!

\latexonly

开始一个文本块,该文本块将仅逐字包含在生成的 {\LaTeX} 文档中,并在生成的 XML 输出中标记为 <latexonly>。该块以 \endlatexonly 命令结束。

此命令可用于包含 Doxygen 难以处理的 {\LaTeX} 代码(即图像、公式、特殊字符)。您可以使用 \htmlonly\endhtmlonly 对来提供适当的 HTML 替代方案。

注意: 环境变量(例如 $(HOME))在 {\LaTeX} -only 块中解析。

另请参阅
部分 \rtfonly\xmlonly\manonly\htmlonly\docbookonly\latexinclude

\manonly

开始一个文本块,该文本块将仅逐字包含在生成的 MAN 文档中,并在生成的 XML 输出中标记为 <manonly>。该块以 \endmanonly 命令结束。

此命令可用于将 groff 代码直接包含到 MAN 页面中。您可以使用 \htmlonly\endhtmlonly 以及 \latexonly\endlatexonly 对来提供适当的 HTML 和 {\LaTeX} 替代方案。

另请参阅
部分 \htmlonly\xmlonly\rtfonly\latexonly\docbookonly\maninclude

\li { 项目描述 }

此命令有一个参数,该参数会一直持续到第一个空行或遇到另一个 \li。该命令可用于生成一个简单的、非嵌套的参数列表。每个参数都应以 \li 命令开头。

示例
键入
  \li \c AlignLeft left alignment.
  \li \c AlignCenter center alignment.
  \li \c AlignRight right alignment

  No other types of alignment are supported.
将产生以下文本

  • AlignLeft 左对齐。
  • AlignCenter 居中对齐。
  • AlignRight 右对齐

不支持其他类型的对齐。
注意
对于嵌套列表,应使用 HTML 命令。

等同于 \arg


\n

强制换行。等同于 <br>,并受 printf 函数启发。


\p <word>

使用打字机字体显示参数 <word>。您可以使用此命令在运行文本中引用成员函数参数。

示例
  ... the \p x and \p y coordinates are used to ...
这将产生以下文本

... 使用 xy 坐标来 ...

等同于 \c。要在打字机字体中包含多个单词,请使用 <tt>多个单词</tt>


\rtfonly

开始一个文本块,该文本块将仅逐字包含在生成的 RTF 文档中,并在生成的 XML 输出中标记为 <rtfonly>。该块以 \endrtfonly 命令结束。

此命令可用于包含 Doxygen 难以处理的 RTF 代码。

注意: 环境变量(例如 $(HOME))在 RTF-only 块中解析。

另请参阅
部分 \manonly\xmlonly\latexonly\htmlonly\docbookonly\rtfinclude

\verbatim

开始一个文本块,该文本块将逐字包含在文档中。该块应以 \endverbatim 命令结束。所有命令在 verbatim 块中均被禁用。

警告
请确保为每个 \verbatim 命令包含一个 \endverbatim 命令,否则解析器会感到困惑!
另请参阅
部分 \code\endverbatim\verbinclude

\xmlonly

开始一个文本块,该文本块将仅逐字包含在生成的 XML 输出中。该块以 \endxmlonly 命令结束。

此命令可用于包含自定义 XML 标记。

另请参阅
部分 \manonly\rtfonly\latexonly\htmlonly\docbookonly

\\

此命令将反斜杠字符 (\) 写入输出。在某些情况下,必须对反斜杠进行转义,因为 Doxygen 使用它来检测命令。


\@

此命令将 at 符号 (@) 写入输出。在某些情况下,必须对 at 符号进行转义,因为 Doxygen 使用它来检测 Javadoc 命令。


\~[LanguageId]

此命令启用/禁用特定于语言的过滤器。这可用于将不同语言的文档放入一个注释块中,并使用 OUTPUT_LANGUAGE 标签来过滤掉仅特定语言。使用 \~language_id 仅为特定语言启用输出,使用 \~ 为所有语言启用输出(这也是默认模式)。

示例

/*! \~english This is English \~dutch Dit is Nederlands \~german Dies ist
    Deutsch. \~ output for all languages.
 */

\&

此命令将 & 字符写入输出。必须对该字符进行转义,因为它在 HTML 中具有特殊含义。


\$

此命令将 $ 字符写入输出。在某些情况下,必须对该字符进行转义,因为它用于扩展环境变量。


\#

此命令将 # 字符写入输出。在某些情况下,必须对该字符进行转义,因为它用于引用已记录的实体。


\<

此命令将 < 字符写入输出。必须对该字符进行转义,因为它在 HTML 中具有特殊含义。


\>

此命令将 > 字符写入输出。必须对该字符进行转义,因为它在 HTML 中具有特殊含义。


\%

此命令将 % 字符写入输出。在某些情况下,必须对该字符进行转义,因为它用于防止自动链接到同时也是已记录的类或结构的单词。


\"

此命令将 " 字符写入输出。在某些情况下,必须对该字符进行转义,因为它成对使用以指示未格式化的文本片段。


\.

此命令将点号 (.) 写入输出。当启用 JAVADOC_AUTOBRIEFQT_AUTOBRIEF 时,或者当点号在行首跟随一个数字时,此命令可用于防止结束简短描述,或防止开始编号列表。


\?

此命令将问号 (?) 写入输出。当启用 JAVADOC_AUTOBRIEFQT_AUTOBRIEF 时,此命令可用于防止结束简短描述。


\!

此命令将感叹号 (!) 写入输出。当启用 JAVADOC_AUTOBRIEFQT_AUTOBRIEF 时,此命令可用于防止结束简短描述。


\=

此命令将等号 (=) 写入输出。在某些情况下,必须对该字符序列进行转义,因为它在 Markdown 标题处理中使用。


\::

此命令将双冒号 (::) 写入输出。在某些情况下,必须对该字符序列进行转义,因为它用于引用已记录的实体。


\|

此命令将管道符号 (|) 写入输出。在某些情况下,必须对该字符进行转义,因为它用于 Markdown 表格。


\--

此命令将两个破折号 (--) 写入输出。这允许将两个连续的破折号写入输出,而不是一个 en-dash 字符 (–)。


\---

此命令将三个破折号 (---) 写入输出。这允许将三个连续的破折号写入输出,而不是一个 em-dash 字符 (—)。


转到下一节或返回索引