特殊命令

简介

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

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

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

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

以下是按字母顺序排列的所有命令列表,并附有其文档的参考资料:

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

--- 结构指示符 ---

\addtogroup <name> [(title)]

定义一个与 \defgroup 相同的组,但与该命令不同的是,多次使用相同的 <name> 不会导致警告,而是会创建一个具有合并文档和一个在任何命令中找到的第一个标题的组。

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

  /*! \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> 以外的名称。这在包含名称不在默认包含路径上(如 <X11/X.h>)时很有用。通过 <header-name> 参数,您还可以通过在名称周围添加引号或尖括号来指定包含语句应如何显示。如果只给定名称,则使用尖括号。请注意,最后两个参数也可以使用 \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 测试宏定义
这是为了测试宏定义的文档。
*/
/*!
\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 [<path fragment>]

指示注释块包含目录的文档。“path fragment”参数应包含目录名和足够的路径以使其在项目中的其他目录中是唯一的。STRIP_FROM_PATH 选项决定了在输出中显示之前从完整路径中删除的内容。


\enum <name>

指示注释块包含枚举的文档,其名称为 <name>。如果枚举是类的成员且文档块位于类定义之外,则也应指定类的范围。如果注释块直接位于枚举声明之前,则可以省略 \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}'] <file-name>

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

如果 <file-name> 本身对于 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\endinternal 之间的文本仅在 INTERNAL_DOCS 设置为 YES 时可见。


\extends <name>

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

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

点击 此处 查看 Doxygen 生成的相应 HTML 文档。

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

\file [<name>]

指示注释块包含名为 <name> 的源文件或头文件的文档。如果文件名本身不唯一,则文件名可以包含(部分)路径。如果省略文件名(即 \file 后面的行留空),则包含 \file 命令的文档块将属于它所在的文档。

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

\fileinfo['{'option'}']

显示此命令所在文件名的一部分。 option 可以是 name, extension, filename, directoryfull,其中

  • 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 <header-file> [<header-name>]

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

使用 <header-name> 参数,您还可以通过在名称周围添加双引号或尖括号来指定包含语句应如何显示。默认情况下,如果只给出名称,则使用尖括号。

如果为 <header-file> 或 <header-name> 参数给出了一对双引号,则将使用当前文件(找到该命令的文件),但带引号。因此,对于在文件 test.h 中带有 \headerfile 命令的注释块,以下三个命令是等效的

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

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

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

要全局地将默认包含表示反转为本地包含,您可以将 FORCE_LOCAL_INCLUDES 设置为 YES

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


\hideinitializer

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

另请参阅
章节 \showinitializer

\idlexcept <name>

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


\implements <name>

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

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

点击 此处 查看 Doxygen 生成的相应 HTML 文档。

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

\ingroup (<groupname> [<groupname>]*)

如果 \ingroup 命令放置在复合实体(如类、文件或命名空间)的注释块中,则它将被添加到由 <groupname>(s) 标识的组中。对于成员(如变量、函数、类型定义和枚举),该成员只会添加到一组中(以避免在成员未在其类、命名空间或文件上下文中文档化,而仅作为组的一部分可见时出现模糊的链接目标)。

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

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

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

另请参阅
章节 \class

\internal

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

如果 \internal 命令放置在某个部分中(例如,参见 \section),则命令之后的所有子部分也都被视为内部的。只有同一级别的新部分才会结束被视为内部的片段。

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

另请参阅
章节 \endinternal

\mainpage [(title)]

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

标题参数是可选的,它会替换 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。但是,只有在您的文件系统区分大小写时才建议这样做。否则(为了更好的可移植性),您应该在所有对页面的引用中使用所有小写字母(例如 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 <name> [<header-file>] [<header-name>]

指示注释块包含名为 <name> 的 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 <name>

此命令可用于非成员函数 <name> 的文档中。它将函数放入类文档的“相关函数”部分。此命令对于文档化非友元函数但与特定类强耦合的函数非常有用。它避免了文档化文件的必要性,但仅适用于函数。

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

\related <name>

等同于 \relates


\relatesalso <name>

此命令可用于非成员函数 <name> 的文档中。它将函数同时放在类文档的“相关函数”部分,并保留在正常的文档位置。此命令对于文档化非友元函数但与特定类强耦合的函数非常有用。它仅适用于函数。


\relatedalso <name>

等同于 \relatesalso


\showinitializer

默认情况下,宏定义的值和变量的初始化器仅在长度小于 30 行时显示。通过将此命令放在宏定义或变量的注释块中,初始化器将无条件显示。最大初始化行数可以通过配置参数 MAX_INITIALIZER_LINES 更改,默认值为 30。

另请参阅
章节 \hideinitializer

\static

指示注释块文档的成员是静态的,即它作用于类,而不是类的实例。

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


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

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

另请参阅
章节 \class

\typedef (类型定义声明)

指示注释块包含类型定义(无论是全局类型定义还是类的成员类型定义)的文档。此命令等同于 \fn\property\var

另请参阅
章节 \fn\property\var

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

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

另请参阅
章节 \class

\var (变量声明)

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

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

@var  datatype $varname
Description
另请参阅
章节 \fn\property\typedef

\vhdlflow [(流程图标题)]

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

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

\weakgroup <name> [(title)]

可完全像 \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 命令将被合并为一个段落。每个错误描述将从新行开始。或者,一个 \bug 命令可以提及多个错误。当遇到空行或某些其他分节命令时,\bug 命令结束。有关示例,请参见 \author 部分。

该描述还将向单独的错误列表添加一个项目,并且描述的两个实例将相互引用。错误列表中的每个项目前面将有一个指示项目来源的标题。

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


\cond [(section-label)]

启动一个条件部分,该部分以相应的 \endcond 命令结束,该命令通常位于另一个注释块中。这对命令的主要目的是(有条件地)将文件的一部分排除在处理之外(在 Doxygen 的旧版本中,这只能通过 C 预处理器命令实现)。

\cond\endcond 之间的部分可以通过将其节标签添加到 ENABLED_SECTIONS 配置选项中来包含。如果省略节标签,该部分将无条件地排除在处理之外。节标签可以是节标签、圆括号、&& (AND)、|| (OR) 和 ! (NOT) 组成的逻辑表达式。如果使用表达式,需要将其用圆括号括起来,例如 \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 { 版权描述 }

启动一个段落,用于描述实体的版权。该段落将缩进。段落文本没有特殊的内部结构。有关示例,请参见 \author 部分。


\date { 日期描述 }

启动一个段落,可以输入一个或多个日期。该段落将缩进。段落文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \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区域设置的上午或下午等效项。
   
%% 一个 % 字符。

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

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

  • 可选的 date,其中 date
    • 年份的 4 位数字
    • 一个减号
    • 月份的 1 或 2 位数字
    • 一个减号
    • 日期的 1 或 2 位数字
  • 可选的 time,其中 time
    • 空格
    • 小时的 1 或 2 位数字
    • 一个冒号
    • 分钟的 1 或 2 位数字
    • 当格式包含 %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 { 描述 }

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

该描述还将向单独的“已弃用”列表添加一个项目,并且描述的两个实例将相互引用。“已弃用”列表中的每个项目前面将有一个指示项目来源的标题。

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


\details { 详细描述 }

就像 \brief 启动简要描述一样,\details 启动详细描述。您也可以启动一个新的段落(空行),这样就不需要 \details 命令了。


\noop ( 忽略的文本 )

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


\raisewarning ( 作为警告显示的文本 )

除了命令本身,直到行尾的所有文本都将字面上显示为文档警告。包括命令在内的文本将从输出中删除。此命令最常与 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 标签之后放置 section-label。节标签可以是节名称、圆括号、&& (AND)、|| (OR) 和 ! (NOT) 组成的逻辑表达式。条件块可以嵌套。只有当所有包含的节都启用时,嵌套节才会启用。

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

\endcond

结束由 \cond 开始的条件部分。

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

\endif

结束由 \if\ifnot 开始的条件部分。对于每个 \if\ifnot,必须且只能跟随一个匹配的 \endif

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

\exception <exception-object> { 异常描述 }

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


\if (section-label)

启动一个条件文档部分。该部分以匹配的 \endif 命令结束。条件部分默认禁用。要启用它,您必须在配置文件中的 ENABLED_SECTIONS 标签之后放置 section-label。

节标签可以是节名称、圆括号、&& (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 命令结束。此条件部分默认启用。要禁用它,您必须在配置文件中的 ENABLED_SECTIONS 标签之后放置 section-label。节标签可以是节名称、圆括号、&& (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
* Normal text.
*
* \par User defined paragraph
* Contents of the paragraph.
*
* \par
* New paragraph under the same heading.
*
* \note
* This note consists of two paragraphs.
* This is the first paragraph.
*
* \par
* And this is the second paragraph.
*
* More normal text.
*/
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 <模板参数名> { 描述 }

启动对名为 <template-parameter-name> 的类或函数模板参数的模板参数描述,后跟模板参数的描述。

其他方面类似于 \param


\post { 后置条件描述 }

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


\pre { 前置条件描述 }

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


\remark { 备注文本 }

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


\remarks { 备注文本 }

等同于 \remark


\result { 结果值描述 }

等同于 \return


\return { 返回值描述 }

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


\returns { 返回值描述 }

等同于 \return


\retval <返回值> { 描述 }

启动对函数返回值(名为 <return value>)的描述,后跟返回值的描述。构成描述的段落文本没有特殊的内部结构。所有视觉增强命令都可以在段落内使用。多个相邻的 \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 <key> "heading" "list title" { text }

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

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

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

\xrefitem todo "Todo" "Todo List" 

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

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

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

如果参数 "(heading)" 是空字符串,则不生成标题。这在与 \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['{'[option]'}'] <label>

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

有许多选项可用

  • numbershortauthoryear,这些选项互斥,如果未指定其中任何一个,则假定为 number
    • number 创建一个数字引用
    • shortauthor 只给出第一个作者的姓氏,如果有多个作者,则添加“et al.”文本
    • year,提及出版年份(如果 bibtex 文件中指定)。
  • nopar,不添加(方)括号
  • nocite,不创建到参考文献中引用的链接(并且基于此项目不将引用添加到参考文献中)

\endlink

此命令结束由 \link 命令开始的链接。

另请参阅
章节 \link

\link <link-object>

Doxygen 自动生成的链接总是将它们指向的对象的名称作为链接文本。

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

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

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

创建对命名符号、文件、节、小节、页面或锚点的引用。

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

如果 <name> 包含空格(例如,如果它引用包含空格的文件名),您需要用双引号将 <name> 括起来,例如 "my file.md"。

对于 {\LaTeX} 文档,ref 命令将保持不变,除非 PDF_HYPERLINKS 选项已设置为 NO,在这种情况下,它将生成节的标题(对于节)或文本(如果 <name> 引用锚点),后跟页码。

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

\refitem <名称>

就像 \ref 命令一样,此命令创建对命名节的引用,但此引用出现在由 \secreflist 开始并以 \endsecreflist 结束的列表中。可以在 页面顶部 看到此类列表的示例。


\secreflist

启动一个项目索引列表,由 \refitem 创建,每个项目都链接到一个命名节。


\endsecreflist

结束由 \secreflist 开始的索引列表。


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

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

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

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

如果您想添加结构而不创建多个页面,请参阅 \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(s) 将添加到已指定的 option(s) 中,但只有最后一个 optionlevel 有效。

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

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

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

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

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

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

警告
此命令仅在相关页面文档块的某个节中有效,而不能在其他文档块中使用!
另请参阅
有关 \subsection 命令的示例,请参见 \page 部分。

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

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

警告
此命令仅在相关页面文档块的某个小节中有效,而不能在其他文档块中使用!
另请参阅
有关 \section 命令和 \subsection 命令的示例,请参见 \page 部分。

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

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

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

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

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

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

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

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

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

--- 显示示例的命令 ---


\dontinclude['{lineno}'] <file-name>

此命令可用于解析源文件,但不会将其逐字包含在文档中(如 \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
* 然后我们调用示例成员函数
* \line example
* 之后,我们的小测试程序结束。
* \line }
*/
其中示例文件 include_test.cpp 如下所示
void main()
{
Include_Test t;
t.example();
}
点击 此处 查看 Doxygen 生成的相应 HTML 文档。
另请参阅
章节 \line\skip\skipline\until\include

\include['{'option'}'] <file-name>

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

如果 <file-name> 本身对于 EXAMPLE_PATH 标签指定的示例文件集不唯一,您可以包含绝对路径的一部分以消除歧义。

使用 \include 命令等同于将文件插入文档块并用 \code\endcode 命令将其括起来。

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

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

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

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

选项 option 可以是 linenodoc,并且可以额外指定 local

  • 选项 lineno 可用于在需要时为包含的代码启用行号。
  • 选项 doc 可用于将文件视为文档而不是代码。
  • 选项 local 可用于使 Doxygen 将代码解释为位于包含命令出现的类或命名空间中,而不是全局命名空间。
  • 选项 strip 可用于始终隐藏包含代码中的任何特殊注释,覆盖 STRIP_CODE_COMMENTS 设置,选项 nostrip 可用于始终显示特殊注释。这些选项与 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} 相同。

当使用 doc 选项时,options 与 \include 命令使用的 options 相同。

另请参阅
章节 \include{doc}\include{doc}

\line ( 模式 )

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

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

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


\skip ( 模式 )

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

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

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


\skipline ( 模式 )

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

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

注意
命令
\skipline pattern
等同于
\skip pattern
\line pattern

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


\snippet['{'option'}'] <文件名> ( block_id )

\include 命令可用于将整个文件作为源代码包含,而此命令可用于仅引用源文件的一部分。如果将 this 用作 <file-name>,则当前文件将用作片段的文件。

例如,在文档中放置以下命令,引用位于子目录中 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));

另请注意,[block_id] 标记应在源文件中出现两次。

选项 option 可以是 linenotrimleftdoc,并且可以额外指定 local

  • 选项 lineno 可用于在需要时为包含的代码启用行号。
  • 选项 trimleft 可用于删除所有行前面的公共空格(也考虑 TAB_SIZE 标签的设置)。
  • 选项 doc 可用于将文件视为文档而不是代码。
  • 选项 local 可用于使 Doxygen 将代码解释为位于包含命令出现的类或命名空间中,而不是全局命名空间。
  • 选项 strip 可用于始终隐藏包含代码中的任何特殊注释,覆盖 STRIP_CODE_COMMENTS 设置,选项 nostrip 可用于始终显示特殊注释。这些选项与 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 <文件名> ( block_id )

此命令已废弃,但为了向后兼容性仍然支持,其工作方式与 \snippet{lineno} 相同。

另请参阅
章节 \snippet{lineno}

\snippetdoc['{'option'}'] <文件名> ( block_id )

此命令已废弃,但为了向后兼容性仍然支持,其工作方式与 \snippet{doc} 相同。

当使用 doc 选项时,options 与 \snippet 命令使用的 options 相同。

另请参阅
章节 \snippet{doc}\include{doc}

\until ( 模式 )

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

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

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


\verbinclude <文件名>

此命令将文件 <file-name> 的内容逐字包含在文档中。此命令等同于将文件内容粘贴到文档中,并用 \verbatim\endverbatim 命令将其括起来。

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


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

此命令将文件 <file-name> 的内容原样包含在 HTML 文档中,并在生成的 XML 输出中标记为 <htmlonly>。此命令等同于将文件内容粘贴到文档中,并用 \htmlonly\endhtmlonly 命令将其括起来。

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

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

另请参阅
章节 \htmlonly\latexinclude\rtfinclude\maninclude\docbookinclude\xmlinclude

\latexinclude <file-name>

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

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

另请参阅
章节 \latexonly\htmlinclude\rtfinclude\maninclude\docbookinclude\xmlinclude

\rtfinclude <file-name>

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

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

另请参阅
章节 \rtfonly\htmlinclude\latexinclude\maninclude\docbookinclude\xmlinclude

\maninclude <file-name>

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

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

另请参阅
章节 \manonly\htmlinclude\latexinclude\rtfinclude\docbookinclude\xmlinclude

\docbookinclude <file-name>

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

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

另请参阅
章节 \docbookonly\htmlinclude\latexinclude\rtfinclude\maninclude\xmlinclude

\xmlinclude <file-name>

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

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

另请参阅
章节 \xmlonly\htmlinclude\latexinclude\rtfinclude\maninclude\docbookinclude

--- 视觉增强命令 ---

\a <word>

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

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

... xy 坐标用于 ...

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


\arg { item-description }

此命令有一个参数,该参数持续到第一个空行或遇到另一个 \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 <word>

使用粗体字体显示参数 <word>。等同于 <b>word</b>。要将多个词语设为粗体,请使用 <b>多个词语</b>


\c <word>

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

示例
输入
     ... This function returns \c void and not \c int ...
将导致以下文本

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

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


\code['{'<word>'}']

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

默认情况下,用于语法高亮的语言是根据找到 \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 <link-object>

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

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

例如,要复制类成员的文档,可以在文档中放置以下内容

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

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

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

只有当文档块所在的上下文需要时,才需要限定名称。

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

请注意,\copydoc foo() 大致等同于执行

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

请参阅 \copybrief\copydetails 以仅复制注释块的简要或详细部分。


\copybrief <link-object>

\copydoc 类似,但只复制简要描述,不复制详细文档。


\copydetails <link-object>

\copydoc 类似,但只复制详细文档,不复制简要描述。


\docbookonly

开始一个文本块,该文本块将仅按原样包含在生成的 DocBook 文档中,并在生成的 XML 输出中标记为 <docbookonly>。该块以 \enddocbookonly 命令结束。

另请参阅
章节 \manonly\latexonly\rtfonly\xmlonly\htmlonly\docbookinclude

\dot ["caption"] [<sizeindication>=<size>]

开始一个文本片段,该片段应包含一个有效的点图描述。文本片段以 \enddot 结束。Doxygen 会将文本传递给点工具,并将生成的图像(和图像映射)包含到输出中。

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

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

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

注意
使用此命令需要将 HAVE_DOT 设置为 YES
Doxygen 会创建一个临时文件,除非 DOT_CLEANUP 标签设置为 NO,否则该文件会自动删除。
/*! 类 B */
class B {};
/*! 类 C */
class C {};
/*! \mainpage
*
* 通过内联点图表示的类关系
* \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 "name"

此命令将根据名称生成一个表情符号字符。

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

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

另请参阅 表情符号支持页面 获取详细信息。


\msc ["caption"] [<sizeindication>=<size>]

开始一个文本片段,该片段应包含消息序列图的有效描述。请参阅 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]'}'] ["caption"] [<sizeindication>=<size>]

开始一个文本片段,该片段应包含 PlantUML 图的有效描述。请参阅 https://plantuml.com/ 获取示例。文本片段以 \enduml 结束。

注意
如果您想使用此命令,需要安装 Java 和 PlantUML 的 jar 文件。在 {\LaTeX} 中使用 PlantUML 时,您需要下载更多的 jar 文件,详情请参阅 PlantUML 文档。这也适用于 <engine> 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 将自动选择一个名称。

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

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

注意
Doxygen 不支持 Plantuml 命令,如 @startjson,但用户可以通过添加到 Doxygen 设置文件来支持
  ALIASES += startjson=@startuml{json}
  ALIASES += endjson=@enduml
Doxygen 会创建一个临时文件,除非 DOT_CLEANUP 标签设置为 NO,否则该文件会自动删除。

以下是 \startuml 命令使用示例。

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

\dotfile <file> ["caption"] [<sizeindication>=<size>]

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

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

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

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

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

\mscfile <file> ["caption"] [<sizeindication>=<size>]

将由 mscgen 从 <file> 生成的图像插入到文档中。请参阅 https://www.mcternan.me.uk/mscgen/ 获取示例。

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

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

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

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

\diafile <file> ["caption"] [<sizeindication>=<size>]

将在 dia 中制作的图像从 <file> 插入到文档中。

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

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

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


\doxyconfig <config_option>

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

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

\e <word>

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

示例
输入
  ... this is a \e really good example ...
将导致以下文本

... 这是一个 非常 好的例子 ...

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


\em <word>

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

示例
输入
  ... this is a \em really good example ...
将导致以下文本

... 这是一个 非常 好的例子 ...

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


\endcode

结束一个代码块。

另请参阅
章节 \code

\enddocbookonly

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

另请参阅
章节 \docbookonly

\enddot

结束以 \dot 开始的块。


\endmsc

结束以 \msc 开始的块。


\enduml

结束以 \startuml 开始的块。


\plantumlfile <file> ["caption"] [<sizeindication>=<size>]

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

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

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

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


\endhtmlonly

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

另请参阅
章节 \htmlonly

\endlatexonly

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

另请参阅
章节 \latexonly

\endmanonly

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

另请参阅
章节 \manonly

\endrtfonly

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

另请参阅
章节 \rtfonly

\endverbatim

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

另请参阅
章节 \verbatim

\endxmlonly

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

另请参阅
章节 \xmlonly

\f$

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

另请参阅
有关示例,请参阅 公式 章节。

\f(

标记文本内公式的开始,但与 \f$ 相反,它不会在 {\LaTeX} 中明确开启数学模式。

另请参阅
章节 \f) 和章节 公式

\f)

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

另请参阅
章节 \f( 和章节 公式

\f[

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

另请参阅
章节 \f] 和章节 公式

\f]

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

另请参阅
章节 \f[ 和章节 公式

\f{environment}{

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

注意
第二个 { 是可选的,仅用于帮助编辑器(如 Vim)通过使开括号和闭括号的数量相同来正确进行语法高亮。
另请参阅
章节 \f} 和章节 公式

\f}

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

另请参阅
章节 \f{ 和章节 公式

\htmlonly['[block]']

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

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

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

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

\image['{'option[,option]'}'] <format> <file> ["caption"] [<sizeindication>=<size>]

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

第一个参数指定应嵌入图像的输出格式。目前支持以下值: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 { item-description }

此命令有一个参数,该参数持续到第一个空行或遇到另一个 \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 命令包含一个 \endverbatim 命令,否则解析器会混淆!
另请参阅
章节 \code\endverbatim\verbinclude

\xmlonly

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

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

另请参阅
章节 \manonly\rtfonly\latexonly\htmlonly\docbookonly

\\

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


\@

此命令向输出写入 @ 符号 (@)。在某些情况下,@ 符号必须转义,因为 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 表格。


\--

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


\---

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


转到下一节或返回索引