Doxygen 扩展
由于工具/脚本的数量不断增长,我将它们分成了几个类别图表生成器
Nassi-Shneiderman 图
Eckard Klotz 启动了一个名为 Moritz 的项目。它将 C/C++ 源代码中的函数和方法生成为 HTML 文件的 Nassi-Shneiderman 图,这些图可以包含在软件文档中,或者直接在 Web 浏览器中查看。
为其他语言添加支持的过滤器
Perl
Bret Jordan 编写了一个 过滤器,另一个过滤器 由 Thomas Aeby 编写。
Javascript
对于使用 JavaScript 的人来说,可能很高兴知道 Jörg Schaible 编写了一个 perl 脚本,让 doxygen 可以处理它。不幸的是,他在 berlios.de 上的网站已被删除。如果您在 Google 上搜索 js2doxy.pl
,仍然可以找到该脚本的副本。
Object Pascal
Darren Bowles 启动了一个名为 Pas2dox 的项目,该项目将 Object Pascal 转换为 C++ 风格的语法,doxygen 可以愉快地解析它。该项目的目标是允许 doxygen 用于 Delphi/Kylix 项目。
Visual Basic
Mathias Henze 编写了一个 awk 脚本,将 Visual Basic 代码转换为 doxygen 可以理解的内容。该软件包包含一个小型的批处理包装器。要使用它,必须在配置选项“INPUT_FILTER”中添加以下行
C:/path/to/filer/tools/vbfilter.bat C:\path\to\filter\tools
需要一些 Unix 工具,如 sh.exe、gawk.exe 和 tee.exe 在提供的路径下可用。它们可以从此处下载。
Basti Grembowietz 提供了 Visual Basic 的一个替代过滤器。它需要 python,并附带以下使用说明
必须按以下方式准备 VB 文件
'* <comments directly handed to doxygen> <vb- Function / Sub / Member>
为了更短的使用,也允许这样做
<vb-member (recommended)> '* <doxygen-comment>
对于指向类/模块的注释,必须使用“!”。
Giovanni De Cicco 为基于 Mathias 脚本的 VB6 开发人员编写了一个名为 VBDoxyAddin 的插件。
对于较新的 VB.NET(也适用于经典的 VB),Vsevolod Kukol 编写了一个基于 awk 的过滤器。
MatLab
Ben Heasly 为 doxygen 编写了一个 过滤器,将 MatLab 脚本(包括新的面向对象特性)转换为 doxygen 可以理解的内容。
Ian Martins 提供了一个替代过滤器。
Fabrice 也提供了一个,可以在 Matlab Central 上找到。
Pro*C
Darren Bowles 创建了 Proc2Dox,它是 doxygen 的预处理器插件,用于添加对 Pro*C 代码的支持。
Assembly
Bogdan Drozdowski 和 Rick Foos 编写了一个过滤器,将 汇编 转换为 C 风格的代码,然后 doxygen 可以解析它。
Lua
Alec Chen 编写了一个 过滤器,使 doxygen 可以解析 Lua 代码。Simon Dales 提供了另一个 lua 过滤器 来执行相同的操作。
GLSL Shader
Sebastian Schaefer 编写了一个 过滤器,使 doxygen 解析器可以解析 GLSL shader 语言。
Qt QML
Aurélien Gâteau 为 Qt 的 QML 文件编写了一个 过滤器。
GOB-doc
GOB-doc 过滤器解析 *.gob 文件,并生成 C++ 类定义。
Prolog
Dr Beco 编写了一个 Prolog 过滤器。
CAPL
Bretislav Rychta 编写了 CAPL 过滤器,这是 CAN 访问编程语言。
STX
Jan Lochmatter 为 STX 语言编写了一个 过滤器,该语言用于德国制造商 Jetter 的 PLC(可编程逻辑控制器)。
KickAssembler
Raffaele Intorcia 编写了一个 Python 脚本,该脚本提供了从 KickAssembler 源代码到 C 风格格式的简单转换。
提高易用性
Doxygenator
Pierre Clouthier 编写了 Doxygenator,这是一个在函数之前自动插入 Doxygen 注释块的工具。Doxygen 命令是一个模板或框架,您需要填写详细信息。
DoxyAssist
ChEeTaH 编写了 DoxyAssist。此工具可以使用模板 doxygen 配置文件,并为其管理的特定项目和子项目调整其设置。对于每个(子)项目,doxygen 将单独运行,从而为每个子项目生成单独的文档集。它会将这些部分重新组合到 Qt Assistant 中,确保可使用适当的过滤器。然后可以使用 Qt Assistant 将文档作为一个整体查看,或者轻松地将视图限制为子项目。它特别支持 Drupal,其中所有贡献的模块都会被自动发现并添加为子项目(请参阅 此演示)。
Eclipse
Eclox 是 Eclipse 的 doxygen 前端插件。
Visual studio
如果您使用 Visual Studio .NET,请查看 Steve King 的插件集。Greg Engelstad 编写了一个 perl 脚本,用于解析 Visual Studio .NET 解决方案文件 (.sln) 并为其中包含的每个单独的项目运行 doxygen。
Jason Williams 编写了一个 Visual Studio 2005 和 2008 的插件,该插件能够从大多数代码元素(文件、命名空间、类、结构、枚举、函数等)自动生成 doxygen(或 DocXml)风格的注释。它解析 C、C++、C# 和 Java 代码以生成完全形成的 doxygen 注释,并且如果代码元素发生更改,可以更新这些注释,并对描述进行自动换行以保持整洁。它使用一组用户可编辑的规则来提供对元素、参数和返回码的自动描述,从而最大限度地减少生成文档注释所需的工作量。
jgallardo 还编写了一个 Visual Studio 的插件,可以简化对 doxygen 生成的文档的浏览。
Troels Gram 创建了一个名为 DoxyComment 的 Visual Studio 2005 插件。它旨在帮助您将上下文相关的注释块插入到 C/C++ 源代码文件中。DoxyComment 还附带一个 xslt 模板,使您可以生成像 MSDN 库一样的文档。
如果您正在使用 Microsoft 的 Developer Studio 6.0,则可以使用一个名为 DoxBar 的插件,该插件可用于从 Developer Studio 中运行 doxygen 并搜索生成的 HTML 帮助文件。
注意:我没有足够的时间自己维护 DoxBar,因此我将 DoxBar 移到了 sourceforge。Olivier Sannier 对 DoxBar 进行了一些改进。如果您也想加入开发团队,请在 sourceforge 注册为用户,并通过邮件将您的用户名发送给 我。
Bernhard Nowara 编写了一个 profile editor,它是一个类似于 doxywizard 的 Windows 工具。他还创建了一个 DoxBar 的增强版本,其中包含他的编辑器和 Visual Studio 的一些宏,以简化为 doxygen 准备源代码的过程。Olivier Sannier 已将这些更改合并到 doxygen 的较新版本中。
FeinSoftware 发布了一个用于 Microsoft Visual Studio .NET (Visual C++) 的开发工具,名为 CommentMaker,它创建可自定义的函数头,开发人员可以根据大多数特定的文档要求进行调整。默认情况下,它会生成与 doxygen 兼容的注释。
TechPubs 工具
Glenn Maxey 发布了 TechPubs 工具 (TPT),该工具包装了任意数量的迷你 HTML 系统,并创建了一个全面的 HTML 系统,其中包含目录和自动生成的索引/一致性。TPT 由 Perl 程序、UNIX shell 脚本和主模板文件 (HTML) 组成。
树状视图小程序
那些在 TREEVIEW 选项中遇到性能问题的人,可以尝试 Glenn Maxey 编写的此脚本。
MSDN 集成
对于那些使用 Windows 并希望将 doxygen 生成的压缩 HTML 集成到 MSDN 中的人,请查看 此 MSDN 集成实用程序。
通过 Perl 配置
Richard Y. Kim 编写了一个 perl 模块,以便更轻松地从 perl 脚本中使用/配置 doxygen。
Ant 任务
如果您对 Ant 感兴趣,请查看 Karthik A Kumar 的 doxygen Ant 任务对象。
Automake/autoconf 集成
Oren Ben-Kiki 展示了如何将 doxygen 与 Automake 和 Autoconf 集成。
嵌入 HTML
Wilfred Nilsen 编写了一个(用于 Windows 的) 工具,用于组合多个 HTML 文件并将它们嵌入到单个可执行文件中。这可以与 doxygen 的 HTML 输出结合使用。
Trac 插件
如果您正在使用 Trac 来跟踪您的问题,请查看此 插件来嵌入 doxygen 文档。
CMake 集成
Stefan Majewsky 写了一篇关于在基于 CMake 的项目中集成 doxygen 的博文。DoxyGrouper
Raja Kajiev 编写了一个名为 DoxyGrouper 的工具,它可以帮助您根据目录结构将项目包含在组中。
qtres2dox
Markus Schwartz 编写了一个名为 qtres2dox 的工具,可以从 .ui 和 .qrc 文件生成 doxygen 的输入文件。
Doxynum
Doxynum 是一个用于自动编号节和图纸的程序,以及用于在使用 doxygen 软件生成的文档中创建目录的程序
编辑器插件
Visual Studio
Sedeniono 编写了 VSDoxyHighlighter,这是一个 Visual Studio 2022 扩展,提供语法突出显示和自动完成功能。
Christoph Schlosser 编写了 VS Code Extensions,它通过启动 Doxygen 注释块并按回车键来即时提供 Doxygen 文档生成。这是一个 VS Code 扩展,它通过启动 Doxygen 注释块并按回车键来即时提供 Doxygen 文档生成。
VIM
如果你最喜欢的编辑器是 VIM(我也是!),Michael Geddes 在 C/C++/IDL/Java 的基础上编写了一个 语法高亮脚本。Ralf Schandl 也提供了一些 宏和语法高亮文件 供你使用。Emilio Riva 发送了 另一个 vim 高亮文件。
Emacs
如果你使用 Emacs 编辑器,请查看 epydoc-el,这是一个用于简化编写 doxygen 注释的 lisp 脚本。
Ryan Sammartino 在 sourceforge 上维护一个名为 Doxymacs 的项目,该项目产生了一个 elisp 包,使在 {X}Emacs 中更容易使用 doxygen。
UltraEdit
如果 UltraEdit 是你选择的编辑器,请查看 Dominik Stadler 的 脚本,其中包含有关如何为 doxygen 注释块启用语法高亮的信息。
TSE Pro/32
对于 SemWare 的 TSE Pro/32 编辑器,Howard Kapustein 提供了用于 doxygen 风格注释块的 语法定义文件。
Delphi/C++ Builder
如果你将 Delphi 或 C++ Builder 与 GExperts 结合使用,你可以使用 Miguel A. Richard 编写的 XML 宏作为代码中注释的模板。
从其他文档工具迁移
Cocoon
如果你想将 Cocoon(或 C++)风格的注释动态转换为 Qt 风格的注释,你可能想尝试 Paul S. Strauss 编写的 filterComments.pl 脚本。将其与 doxygen 的 INPUT_FILTER
配置选项结合使用。
AutoDuck
Martin Slater 编写了一个 python 脚本 duck2dox,可用于将 AutoDuck 风格的注释转换为 doxygen 注释。Steven Blackburn 编写了一个用 C++ 编写的 替代过滤器。Brian Szuter 在尝试了其他过滤器并发现它们不能满足其需求后,又编写了 另一个过滤器。XML/XSLT 示例
Breathe
Micheal Jones 编写了一个 扩展,用于 reStructuredText 和 Sphinx,使其能够读取和渲染 doxygen XML 输出。
C# doxmlparser
Baneu Mihai 编写了 doxygen XML 解析器(位于 addon/doxmlparser 中)的 包装器,使其可以从 C# 访问。
Doxyclean
Matt Ball 编写了一个名为 doxyclean 的脚本,用于将 doxygen 的输出转换为更类似于 Apple 自己的文档的格式。
Doxygen.NET
Thomas Hansen 和 Kariem Ali 编写了 Doxygen.NET,它为 doxygen 生成的 XML 输出提供了 .NET 对象包装器。
Dox
Narech Koumar 编写了一个名为 Dox 的工具,它读取 doxygen 生成的 XML 输出,并将其转换为格式化的 HTML,其样式类似于 Javadoc。
XSLT 示例
如果你想了解如何使用 XSLT 将 doxygen 的 XML 输出转换为其他格式(在本例中为 HTML/CHM),请查看 Chelpanov 的示例。但它有一些限制:
- 不支持 C++
- 它比直接使用 doxygen 或从 XML 到 HTML 用 C 编写基于 SAX 的转换要慢。
- 它仅支持 CHM 格式。
- 它仅在 Windows 平台上工作。
- 仅支持 doxygen 的某些功能。
以及一些其他要求:
- HTML Help Workshop
- Microsoft .Net Framework 1.1
如果你有任何意见或建议,请发送至 Chelpanov(请从邮件地址中删除 NO_SPAM 部分)。
Bo Peng 编写了一个小的 XSLT 脚本,用于提取 SWIG/Python 接口的信息。