当前位置:  开发笔记 > 编程语言 > 正文

doxygen中的"新版API在ABC版本"页面

如何解决《doxygen中的"新版API在ABC版本"页面》经验,为你挑选了1个好方法。

例如,有一个Doxygen选项用于指定API何时使用\since标记出现

///
/// Does foo
///
/// \since 1.5
///
void foo();

它会出现在foo()文档中.

我正在寻找一种自动创建页面的方法,该页面包含1.5中出现的所有API - 即列出所有标记的API \since 1.5或可能的其他标记(如果可用).

编辑:我尝试使用\ingroup并创建一个包含所有新API的组页面,它可以工作.但它将描述移到此页面,例如将一个新方法从类定义移动到页面"1.2.3中的新建",这不是我想要的.



1> Zeta..:

您想要为当前创建一个e x ternal 参考,a :\xrefitem

\xrefitem version_change_1_0_0 "Since 1.0.0" "Changes in 1.0.0" ...
                                      

共享相同内容的所有项目都将显示在特殊生成的页面上.在将用于启动在你的地方部分使用 \xrefitem,而将作为一个标题为结果页面(见下文说明).文字可以是任意的.

你得到的结果是类似的名单和出场\todo\bug,你甚至可以认为\bug\todo作为实施

\bug   = \xrefitem bug  "Bug"  "List of bugs" 
\todo  = \xrefitem todo "Todo" "List of todos" 

不幸的是,钥匙不能包含点:

ID        "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
LABELID   [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]*

因此,您必须使用一个带(至少)两个参数的别名,一个用于标签,另一个用于实际文本:

ALIASES += sinceversion{3}="\xrefitem version_changes\1 \"Since \2\" \"Changes in \2\" \3\n\n"
ALIASES += sinceversion{2}="\sinceversion{\1,\2,Introduced in this version.}"

如果你从不使用点,你当然可以简化别名.这将为您提供两个新命令:

\sinceversion{label, version}

\sinceversion{label, version, custom text}

在这两种情况下,标签只能包含字母数字符号,版本可以是任意的.如果您不提供自定义文本,将显示"在此版本中引入".

如果有包含标识符的页面,version_changes则会添加更改列表.请注意,\page标题将覆盖由标题给出的标题\xrefitem,这对于主要版本来说非常方便.

这是一个\sinceversion使用的例子.请注意,您可能希望使用其他别名,例如,ALIASES += since_vXYZ{1}="\sinceversion{X_Y_Z,X.Y.Z,\1}"如果您记录了xyz版本的大量更改:

示例代码

/** Foos around.
 * \sinceversion{001,0.0.1}
*/
void foo(){}

/** Bars around.
 * \sinceversion{001,0.0.1}
 * \sinceversion{002,0.0.2,Removed a memory leak}
*/
void bar(){}

/** \page version_changes002 Changes in 0.0.2
  *
  * We found several memory leaks and removed them
 */

版本更改页面列表

变更页面列表

每个版本的更改列表

每个版本的更改列表

每个版本的更改列表以及其他说明

说明和清单

功能文档中的更改外观

功能描述中的参考

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有