特殊命令

简介

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

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

  • 如果使用 <尖括号>,则参数是单个单词。
  • 如果使用 (圆括号),则参数扩展到找到该命令的行尾。
  • 如果使用 {大括号},则参数扩展到下一个段落。段落由空行或章节指示符分隔。请注意,{大括号} 也用于命令选项,此时大括号是强制性的,并且只是“普通”字符。起始大括号必须紧随命令,中间不能有空格。

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

以下是按字母顺序排列的所有命令列表及其文档链接:

以下小节提供了 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> 参数,您还可以通过在名称周围添加引号或尖括号来指定 include 语句应如何显示。如果只给出名称,则使用尖括号。请注意,最后两个参数也可以使用 \headerfile 命令指定。

示例
/* A dummy class */
class Test
{
};
/*! \class Test class.h "inc/class.h"
* \brief This is a test class.
*
* Some details about the Test class.
*/
点击此处查看 Doxygen 生成的相应 HTML 文档。

\concept <name>

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


\def <name>

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

示例
/*! \file define.h
\brief testing defines
This is to test the documentation of defines.
*/
/*!
\def MAX(x,y)
Computes the maximum of \a x and \a y.
*/
/*!
\brief Computes the absolute value of its argument \a x.
\param x input value.
\returns absolute value of \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))
/*!< Computes the minimum of \a x and \a y. */
点击此处查看 Doxygen 生成的相应 HTML 文档。

\defgroup <name> (group title)

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

The <name> argument should be a single-word identifier.

另请参阅
群组, 节 \ingroup, \addtogroup, 和 \weakgroup

\dir [<path fragment>]

表示注释块包含目录的文档。“path fragment”参数应包含目录名称以及足够多的路径以使其在项目中相对于其他目录是唯一的。STRIP_FROM_PATH 选项决定了在输出中显示完整路径之前要剥离哪些部分。


\enum <name>

表示注释块包含名称为 <name> 的枚举的文档。如果该枚举是某个类的成员,并且文档块位于类定义之外,则也应指定该类的范围。如果注释块直接位于枚举声明之前,则可以省略 \enum 注释。

注意
匿名枚举的类型无法文档化,但匿名枚举的值可以文档化。
示例
class Enum_Test
{
public:
enum TEnum { Val1, Val2 };
/*! Another enum, with inline docs */
enum AnotherEnum
{
V1, /*!< value 1 */
V2 /*!< value 2 */
};
};
/*! \class Enum_Test
* The class description.
*/
/*! \enum Enum_Test::TEnum
* A description of the enum type.
*/
/*! \var Enum_Test::TEnum Enum_Test::Val1
* The description of the first enum value.
*/
点击此处查看 Doxygen 生成的相应 HTML 文档。

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

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

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

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

示例
/** A Example_Test class.
* More details about this class.
*/
class Example_Test
{
public:
/** An example member function.
* More details about this function.
*/
void example();
};
void Example_Test::example() {}
/** \example example_test.cpp
* This is an example of how to use the Example_Test class.
* More details about this example.
*/
示例文件 example_test.cpp 如下所示
void main()
{
Example_Test t;
t.example();
}
点击此处查看 Doxygen 生成的相应 HTML 文档。
另请参阅
\include

\endinternal

此命令结束由 \internal 命令启动的文档片段。只有当 INTERNAL_DOCS 设置为 YES 时,\internal\endinternal 之间的文本才可见。


\extends <name>

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

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

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

另请参阅
\implements 和 节 \memberof

\file [<name>]

表示注释块包含名称为 <name> 的源文件或头文件的文档。如果仅凭文件名无法唯一标识文件,则文件名可以包含路径(部分)。如果文件名省略(即 \file 后面的行留空),则包含 \file 命令的文档块将属于它所在的那个文件。

重要
只有当全局函数、变量、typedef 和枚举所在的文件也被文档化,或者 EXTRACT_ALL 设置为 YES 时,它们的文档才会包含在输出中。
示例
/** \file file.h
* A brief file description.
* A more elaborated file description.
*/
/**
* A global integer value.
* More details about this value.
*/
extern int globalValue;
点击此处查看 Doxygen 生成的相应 HTML 文档。
注意
在上面的示例中,配置文件中的 JAVADOC_AUTOBRIEF 已设置为 YES

\fileinfo['{'option'}']

显示此命令所在文件的(部分)文件名。 option 可以是 name, extension, filename, directory 或者 full,其中

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

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

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

\lineinfo

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

另请参阅
\fileinfo

\fn (function declaration)

表示注释块包含函数的文档(可以是全局函数或类的成员函数)。此命令在注释块放置在函数声明或定义之前(或之后)时才需要。

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

完整的函数声明(包括参数)应在 \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 class.
*
* Details about Fn_Test.
*/
/*! \fn const char *Fn_Test::member(char c,int n)
* \brief A member function.
* \param c a character.
* \param n an integer.
* \exception std::out_of_range parameter is out of range.
* \return a character pointer.
*/
点击此处查看 Doxygen 生成的相应 HTML 文档。
另请参阅
\var, \property, 和 \typedef

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

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

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

如果为 <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> 标识的群组中。对于成员(如变量、函数、typedef 和枚举),该成员将仅添加到一个群组中(以避免成员未在其类、命名空间或文件的上下文中记录,而仅作为群组的一部分可见时出现歧义链接目标)。

另请参阅
群组, 节 \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; //!< Object type
typedef struct Vehicle Vehicle; //!< Vehicle type
typedef struct Car Car; //!< Car type
typedef struct Truck Truck; //!< Truck type
/*!
* Base object class.
*/
struct Object
{
int ref; //!< \private Reference count.
};
/*!
* Increments object reference count by one.
* \public \memberof Object
*/
static Object * objRef(Object *obj);
/*!
* Decrements object reference count by one.
* \public \memberof Object
*/
static Object * objUnref(Object *obj);
/*!
* Vehicle class.
* \extends Object
*/
struct Vehicle
{
Object base; //!< \protected Base class.
};
/*!
* Starts the vehicle.
* \public \memberof Vehicle
*/
void vehicleStart(Vehicle *obj);
/*!
* Stops the vehicle.
* \public \memberof Vehicle
*/
void vehicleStop(Vehicle *obj);
/*!
* Car class.
* \extends Vehicle
*/
struct Car
{
Vehicle base; //!< \protected Base class.
};
/*!
* Truck class.
* \extends Vehicle
*/
struct Truck
{
Vehicle base; //!< \protected Base class.
};
/*!
* Main function.
*
* Ref vehicleStart(), objRef(), objUnref().
*/
int main(void)
{
Car c;
vehicleStart((Vehicle*) &c);
}
点击此处查看 Doxygen 生成的相应 HTML 文档。
另请参阅
\extends, \implements, \public, \protected\private

\module <name>

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


\name [(header)]

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

有关示例,请参见成员群组节。


\namespace <name>

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


\nosubgrouping

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

另请参阅
\publicsection, \protectedsection\privatesection

\overload [(function declaration)]

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

这是一个重载的成员函数,为方便而提供。它与上面的函数仅在接受的参数上有所不同。

如果重载成员函数的文档未位于函数声明或定义之前,应使用可选参数指定重载函数的正确声明。当然,当 \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 A short description.
*
* More text.
*/
/*! \fn void Overload_Test::drawRect(int x,int y,int w,int h)
* This command draws a rectangle with a left upper corner at ( \a x , \a y ),
* width \a w and height \a h.
*/
/*!
* \overload void Overload_Test::drawRect(const Rect &r)
*/
点击此处查看 Doxygen 生成的相应 HTML 文档。

\package <name>

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


\page <name> (title)

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

示例
/*! \page page1 A documentation page
\tableofcontents
Leading text.
\section sec An example section
This page contains the subsections \ref subsection1 and \ref subsection2.
For more info see page \ref page2.
\subsection subsection1 The first subsection
Text.
\subsection subsection2 The second subsection
More text.
*/
/*! \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 (qualified property name)

表示注释块包含 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 protocol 的文档。参数与 \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> 的文档。它将该函数放在类文档的“相关函数”节中。此命令对于文档化与特定类紧密相关的非友元函数很有用。它可以避免必须文档化文件,但仅适用于函数。

示例
/*!
/** A String class.
*/
class String
{
friend int strcmp(const String &,const String &);
};
/*!
* Compares two strings.
*/
int strcmp(const String &s1,const String &s2)
{
}
/*! \relates String
* A string debug function.
*/
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> 的 struct 的文档。参数与 \class 命令的参数相同。

另请参阅
\class

\typedef (typedef declaration)

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

另请参阅
\fn, \property, 和 \var

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

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

另请参阅
\class

\var (variable declaration)

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

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

@var  datatype $varname
Description
另请参阅
\fn, \property, 和 \typedef

\vhdlflow [(title for the flow chart)]

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

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

\weakgroup <name> [(title)]

使用方法与 \addtogroup 完全相同,但在解决冲突的群组定义时优先级较低。

另请参阅
群组 和 节 \addtogroup

--- 章节指示符 ---


\attention { attention text }

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


\author { list of authors }

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

示例
/*!
/*! \brief Pretty nice class.
* \details This class is used to demonstrate a number of section commands.
* \author John Doe
* \author Jan Doe
* \version 4.1a
* \date 1990-2011
* \pre First initialize the system.
* \bug Not all memory is freed when deleting an object of this class.
* \warning Improper use can crash your application
* \copyright GNU Public License.
*/
class SomeNiceClass {};
点击此处查看 Doxygen 生成的相应 HTML 文档。

\authors { list of authors }

等同于 \author


\brief { brief description }

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

等同于 \short


\bug { bug description }

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

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

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


\cond [(section-label)]

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

通过将段落标签添加到 ENABLED_SECTIONS 配置选项中,可以包含 \cond\endcond 之间的段落。如果省略段落标签,则该段落将被无条件地排除处理。段落标签可以是使用段落标签、圆括号、&&(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, 节 \endcond, 和 ENABLED_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 位数字
    • 一个减号
    • 月份的 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 (章节标签)

如果前一个章节未被启用,则开始一个条件文档章节。默认情况下,条件章节是禁用的。要启用它,您必须将章节标签放在配置文件的 ENABLED_SECTIONS 标签后面。章节标签可以是使用章节名称、圆括号、&& (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 (章节标签)

开始一个条件文档章节。该章节以匹配的 \endif 命令结束。默认情况下,条件章节是禁用的。要启用它,您必须将章节标签放在配置文件的 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, \endcond,以及 ENABLED_SECTIONS

\ifnot (章节标签)

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

另请参阅
相关命令:\endif, \if, \else, \elseif, \cond, \endcond,以及 ENABLED_SECTIONS

\important { 重要文本 }

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


\invariant { 不变量描述 }

开始一个段落,可以在其中描述实体的 invariants(不变量)。该段落将缩进。段落文本没有特殊的内部结构。所有视觉增强命令都可在段落内使用。多个相邻的 \invariant 命令将合并为一个段落。每个 invariant 描述将从新行开始。或者,一个 \invariant 命令可以提及多个 invariants。当遇到空行或一些其他分段命令时,\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 <模板参数名> { 描述 }

开始对名称为 <template-parameter-name> 的类或函数模板参数进行模板参数描述,后跟模板参数的描述。

其他方面类似于 \param


\post { 后置条件描述 }

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


\pre { 前置条件描述 }

开始一个段落,可以在其中描述实体的 precondition(前置条件)。该段落将缩进。段落文本没有特殊的内部结构。所有视觉增强命令都可在段落内使用。多个相邻的 \pre 命令将合并为一个段落。每个 precondition 将从新行开始。或者,一个 \pre 命令可以提及多个 preconditions。当遇到空行或一些其他分段命令时,\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-object> { 异常描述 }

\exception 同义。

注意
命令 \throws 是此命令的同义词。
另请参阅
相关命令:\exception

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

等同于 \throw


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

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

该描述还将向单独的待办事项列表添加一项,并且描述的两个实例将相互交叉引用。待办事项列表中的每一项前面都会有一个标题,指明该项的来源。

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


\version { 版本号 }

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


\warning { 警告消息 }

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


\xrefitem <key> "heading" "list title" { 文本 }

此命令是 \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 (文本)

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


\anchor <词>

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

另请参阅
请参阅 \ref 章节。

\cite['{'[选项]'}'] <标签>

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

有多种选项可用

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

\endlink

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

另请参阅
请参阅 \link 章节。

\link <链接对象>

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

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

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

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

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

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

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

对于 {\LaTeX} 文档,引用命令将与 HTML 相同,除非 PDF_HYPERLINKS 选项已设置为 NO,在这种情况下,它会为章节生成章节标题,或者如果 <name> 引用的是锚点,则生成文本,后跟页码。

另请参阅
请参阅 \page 章节,了解 \ref 命令的示例。

\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 可以是 HTMLLaTeXXMLDocBook。指定 level 时,表示显示的最大嵌套级别。level 的值应在 1..6 范围内,超出此范围的值将被视为 6。如果未指定 level,则 level 设置为 6(显示全部)。如果未指定 option,则 \tableofcontents 的行为就像只指定了 HTMLXML 选项一样。如果一个页面中有多个 \tableofcontents 命令,则在已指定的选项之外还会使用新的选项,但对于同一选项,只有最后一个 level 有效。

警告
此命令仅在关联页面文档中有效,在其他文档块中无效,且仅对指定的输出格式有效!

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

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

警告
此命令仅在关联页面文档中有效,在其他文档块中无效!
另请参阅
请参阅 \page 章节,了解 \section 命令的示例。

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

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

警告
此命令仅在关联页面文档块的章节内部有效,在其他文档块中无效!
另请参阅
请参阅 \page 章节,了解 \subsection 命令的示例。

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

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

警告
此命令仅在关联页面文档块的小节内部有效,在其他文档块中无效!
另请参阅
请参阅 \page 章节,了解 \section 命令和 \subsection 命令的示例。

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

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

警告
此命令仅在关联页面文档块的次小节内部有效,在其他文档块中无效!

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

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

警告
此命令仅在关联页面文档块的段落内部有效,在其他文档块中无效!

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

创建一个名称为 <subsubparagraph-name> 的命名次子段落。次子段落标题应作为 \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['{'选项'}'] <文件名>

此命令可用于将源文件作为代码块包含进来。该命令接受包含文件名作为参数。源文件或目录可以使用 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['{'选项'}'] <文件名>

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

这些 option 是与使用 doc 选项时的 \include 命令相同的选项。

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

\line ( 模式 )

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

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

请参阅 \dontinclude 章节了解示例。


\skip ( 模式 )

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

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

请参阅 \dontinclude 章节了解示例。


\skipline ( 模式 )

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

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

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

请参阅 \dontinclude 章节了解示例。


\snippet['{'选项'}'] <文件名> ( 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));
//! [Adding a resource]
document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image));
//! [Adding a resource]
...

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

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['{'选项'}'] <文件名> ( block_id )

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

这些 option 是与使用 doc 选项时的 \snippet 命令相同的选项。

另请参阅
请参阅 \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> 的内容按原样包含在 {\LaTeX} 文档中,并在生成的 XML 输出中标记为 <latexonly>。该命令等同于将文件内容粘贴到文档中,并在其周围放置 \latexonly\endlatexonly 命令。

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

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

\rtfinclude <文件名>

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

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

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

\maninclude <文件名>

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

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

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

\docbookinclude <文件名>

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

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

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

\xmlinclude <文件名>

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

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

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

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

\a <词>

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

示例
  ... 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 <词>

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


\c <词>

以等宽字体显示参数 <word>。用于引用代码中的词语。等同于 <tt>word</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 <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>]

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

第一个参数是可选的,可用于指定显示在图像下方的标题。即使不包含空格,此参数也必须在引号之间指定。引号在显示标题之前会被剥离。

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

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

注意
使用此命令需要将 HAVE_DOT 设置为 YES
Doxygen 创建一个临时文件,除非将 DOT_CLEANUP 标签设置为 NO,否则该文件会自动移除。
/*! class B */
class B {};
/*! class 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 "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_JAR_PATH 指定 PlantUML 文件的位置。其他 jar 文件也应位于此目录中。
{\LaTeX} 中使用 <engine> ditaa 是不可能的,因为 PlantUML 只支持 png 格式,而 Doxygen 临时需要 eps 输出。

并非所有图都可以通过 PlantUML @startuml 命令创建,而是需要另一个 PlantUML @start... 命令。这将看起来像 @start<engine>,目前支持以下 <engine>uml, bpm, wire, dot, ditaa, salt, math, latex, gantt, mindmap, wbs, yaml, creole, json, flow, board, git, hcl, regex, ebnf, files, chenchronology。默认情况下,<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
* 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 标签后指定的路径(或文件)中查找文件。如果找到 dot 文件,它将用作 dot 工具的输入文件。生成的图像将放在正确的输出目录中。如果 dot 文件名包含空格,则必须在其周围加上引号("...")。

第二个参数是可选的,可用于指定显示在图像下方的标题。即使不包含空格,此参数也必须在单行且位于引号之间指定。引号在显示标题之前会被剥离。

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

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

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

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

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

第二个参数是可选的,可用于指定显示在图像下方的标题。即使不包含空格,此参数也必须在单行且位于引号之间指定。引号在显示标题之前会被剥离。

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

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

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

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

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

第二个参数是可选的,可用于指定显示在图像下方的标题。即使不包含空格,此参数也必须在单行且位于引号之间指定。引号在显示标题之前会被剥离。

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


\doxyconfig <config_option>

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

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

\e <word>

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

示例
输入
  ... this is a \e really good example ...
结果将显示如下文本

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

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


\em <word>

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

示例
输入
  ... this is a \em really good example ...
结果将显示如下文本

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

等同于 \a\e。要强调多个词语,请使用 <em>multiple words</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 文件名包含空格,则必须在其周围加上引号("...")。

第二个参数是可选的,可用于指定显示在图像下方的标题。即使不包含空格,此参数也必须在单行且位于引号之间指定。引号在显示标题之前会被剥离。

第三个参数也是可选的,可用于指定图像的宽度或高度。有关可能性描述,请参阅 尺寸指示 段落,结合 \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 代码(即 applets、java-scripts 和需要特定属性的 HTML 标签)。

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

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

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

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

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

第二个参数指定图像的文件名。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 命令支持,即 Encapsulated PostScript (eps)、Portable network graphics (png)、Joint photographic experts group (jpg / jpeg)。

Doxygen 不检查图像格式是否正确。所以必须确保是这样!

\latexonly

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

此命令可用于包含对 Doxygen 来说过于复杂的 {\LaTeX} 代码(即图像、公式、特殊字符)。你可以使用 \htmlonly\endhtmlonly 对来提供合适的 HTML 替代方案。

注意: 环境变量(如 $(HOME))在仅限 {\LaTeX} 的块内解析。

另请参阅
请参阅 \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>multiple words</tt>


\rtfonly

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

此命令可用于包含对 Doxygen 来说过于复杂的 RTF 代码。

注意: 环境变量(如 $(HOME))在仅限 RTF 的块内解析。

另请参阅
请参阅 \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 表格。


\--

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


\---

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


转到 下一节 或返回 索引