Doxygen文档生成工具
Doxygen代码文档生成工具
文章目录
- Doxygen代码文档生成工具
- Doxygen
- Doxygen的注释
- vscode插件
- Doxygen实际使用
Doxygen
根据百度百科说法,Doxygen
是一种开源的,跨平台的文档系统,支持C、C++、Java、Objective-C
语言,可以生成在线的HTML
参考手册或者离线的Latex、RTF
参考手册
Doxygen
是一种程序的文件产生工具,可以将程序中特定的注释转换成为说明文件。
可以对未归档的源文件,可以通过配置
Doxygen
来提取代码结构可以生成依赖图
可以生成继承图,协作图等
Doxygen的注释
代码的注释规则如下
模块对外的接口,仅在.h中提供注释信息
模块内部的辅助函数,或者私有的函数,仅在.c中保留注释信息
函数的注释一般有
- 函数功能
- 入口参数
- 返回值
- 注意事项
- 上下文
Doxygen
是如何区分普通注释与输出注释的
对于C,C++
注释一般有两种
//
/**/
Doxygen
通过在里面加入*
,/
,!
作为特殊标记
/** 正常注释*/
Doxygen
在注释第一个*
后,设置*
或!
作为标志,如果检测到有这些,
就将接下来的注释作为导出文档来解释
同时,中间的*
号可以省略,像这样
/**要输出成文档的注释*/或者/*!要输出成文档的注释*/
Doxygen
如何从特殊注释中提取信息
Doxygen
采用\
和@
作为特殊标记符,当在特殊注释里面检测到了特殊标记符,则接下来检测紧跟单词是不是Doxygen
事先规定好的,如果是,则将按照特定的规则来解释紧跟着的注释;如果不是呢,则将\
和@
解释为普通文本,
是否是事先规定可以查看Doxygen
官网文档
vscode插件
Doxygen Documentation Generator
在vscode中可以利用插件快速生成doxygen注释
vscode
中用户seting.json
插件设置如下
{"window.zoomLevel": 0,"editor.minimap.enabled": false,"python.pythonPath": "C:\\Users\\jordan\\AppData\\Local\\Programs\\Python\\Python37\\python.exe","workbench.iconTheme": "vscode-icons","explorer.autoReveal": false, //取消左侧自动聚焦"terminal.integrated.shell.windows": "D:\\Program Files\\Git\\bin\\bash.exe","terminal.external.windowsExec": "D:\\Program Files\\Git\\bin\\bash.exe","todo-tree.highlights.enabled": true,// Doxygen documentation generator set"doxdocgen.file.copyrightTag": ["@copyright Copyright (c) {year} XX通信公司"],"doxdocgen.file.customTag": ["@par 修改日志:","<table>","<tr><th>Date <th>Version <th>Author <th>Description","<tr><td>{date} <td>1.0 <td>wangh <td>内容","</table>",],"doxdocgen.file.fileOrder": ["file","brief","author","version","date","empty","copyright","empty","custom"],"doxdocgen.file.fileTemplate": "@file {name}","doxdocgen.file.versionTag": "@version 1.0","doxdocgen.generic.authorEmail": "wanghuan3037@fiberhome.com","doxdocgen.generic.authorName": "wangh","doxdocgen.generic.authorTag": "@author {author} ({email})","doxdocgen.generic.order": ["brief","tparam","param","return"],"doxdocgen.generic.paramTemplate": "@param{indent:8}{param}{indent:25}My Param doc","doxdocgen.generic.returnTemplate": "@return {type} ","doxdocgen.generic.splitCasingSmartText": true,
}
{// Doxygen documentation generator set// 文件注释:版权信息模板"doxdocgen.file.copyrightTag": ["@copyright Copyright (c) {year} XX通信公司"],// 文件注释:自定义模块,这里我添加一个修改日志"doxdocgen.file.customTag": ["@par 修改日志:","<table>","<tr><th>Date <th>Version <th>Author <th>Description","<tr><td>{date} <td>1.0 <td>wangh <td>内容","</table>",],// 文件注释的组成及其排序"doxdocgen.file.fileOrder": ["file", // @file"brief", // @brief 简介"author", // 作者"version", // 版本"date", // 日期"empty", // 空行"copyright",// 版权"empty","custom" // 自定义],// 下面时设置上面标签tag的具体信息"doxdocgen.file.fileTemplate": "@file {name}","doxdocgen.file.versionTag": "@version 1.0","doxdocgen.generic.authorEmail": "wanghuan3037@fiberhome.com","doxdocgen.generic.authorName": "wangh","doxdocgen.generic.authorTag": "@author {author} ({email})",// 日期格式与模板"doxdocgen.generic.dateFormat": "YYYY-MM-DD","doxdocgen.generic.dateTemplate": "@date {date}",// 根据自动生成的注释模板(目前主要体现在函数注释上)"doxdocgen.generic.order": ["brief","tparam","param","return"],"doxdocgen.generic.paramTemplate": "@param{indent:8}{param}{indent:25}My Param doc","doxdocgen.generic.returnTemplate": "@return {type} ","doxdocgen.generic.splitCasingSmartText": true,
}
在函数前面输入/**
回车以后
/*** @brief * @param data My Param doc* @param left_1 My Param doc* @param right_1 My Param doc* @param left_2 My Param doc* @param right_2 My Param doc*/
void merge(vector<int>& data, int left_1, int right_1, int left_2,int right_2)
之后可以使用Doxygen
生成文档
Doxygen实际使用
本人习惯使用Doxygen
的可视化工具,具体教程为
link
类图如下
Doxygen文档生成工具相关推荐
- Doxygen自动文档生成工具在Eclipse中的集成及使用举例
你有为软件编写说明文档的苦恼吗?当别人甩给你一个庞大的系统,让你根据里面的代码注释理解后写出一份完整的开发文档,你会怎么办?一个个的看代码 然后耗时N天来写吗?这既是一份苦差事也极其耗时,有没有更好的 ...
- 一款常用文档生成工具:Doxygen
关注+星标公众号,不错过精彩内容 来源 | 简书 编排 | strongerHuang 程序员的很多文档,特别是有代码的文档,绝大部分都是由一款文档生成工具[Doxygen]生成. 什么是Doxyge ...
- 文档生成工具-Doxygen使用方法以及注释规则
最近接触了一款程序 文档生成工具-Doxygen.在网上一搜索原来这么多人知道,打算把它的使用做一个总结,以及其注释的规则. 概述: Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文 ...
- python doc_Python文档生成工具pydoc使用介绍
在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc.doxygen.sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不错,本文主要介 ...
- Apiggs —— 非侵入性的 RestDoc 文档生成工具
程序员一直以来都有一个烦恼,只想写代码,不想写文档.代码就表达了我的思想和灵魂. Python提出了一个方案,叫docstring,来试图解决这个问题.即编写代码,同时也能写出文档,保持代码和文档的一 ...
- .NET平台开源项目速览(4).NET文档生成工具ADB及使用
.NET平台开源项目速览(4).NET文档生成工具ADB及使用 原文:.NET平台开源项目速览(4).NET文档生成工具ADB及使用 很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习 ...
- unity mysql生成cexcel_【C#附源码】数据库文档生成工具支持(Excel+Html)
[2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...
- java 接口文档工具_一款Java基于注释的接口文档生成工具
一. 痛点 你还在手动维护接口文档嘛,花一个下午不停的复制粘贴代码里面的注释 接口字段变动,还得去更新文档,更新不及时导致文档不同步 或者你使用了swagger之类的基于注解,依靠运行时的文档工具,看 ...
- 数据库文档生成工具V1.0
这是一款基于C#开发语言编写的数据库文档生成工具,主要实现了 SQlServer+MYsql 数据库表结构说明文档的生成,并且支持 SQLServer 数据库的备份功能,主要可以把数据库的表以及表的详 ...
最新文章
- android列表集合点击事件,给ListeView列表中的每一个Item添加点击事件
- 使用STM32CubeMX求得CPU芯片温度
- DCASE三次挑战赛概览
- 使用jQuery Treeview插件实现树状结构效果
- jboss4。0下mysql数据源的配置
- linux 进程 读写锁,linux 下实现高性能读写锁(read/write lock)
- 用 Python 下载抖音无水印视频
- 塞内卡学院实现开源的价值
- 027_编写MapReduce的模板类Mapper、Reducer和Driver
- 将网页和文档的背景改为绿色来保护眼睛
- 《人月神话》学习指南
- 华为悦盒EC6109u线刷救砖文件fastboot.bin bootargs.bin recovery
- cmd命令查询电脑序列号_如何在Windows10中查找计算机序列号/主板型号
- android微信网页视频播放器,关于微信使用内置播放器播放视频的办法
- mysql创建视图演示_mysql怎么创建视图?(图文+视频)
- android 取消root,彻底告别安卓刷机时代!360超级ROOT正式宣布下线:取消ROOT权限
- CROSSFORMER: A VERSATILE VISION TRANSFORMER BASED ON CROSS-SCALE ATTENTION
- 智能手环开发之 实现蓝牙(BLE)基本功能
- (C语言)实现基于PHP的某公司自来水收费管理系统
- 如何用计算机打出下划线,电脑下划线怎么打?下划线怎么输入出来
热门文章
- 如果快速有效的开项目启动会?
- 资料员培训建筑八大员培训建筑资料员工程建筑资料与施工管理
- 使用iconfont阿里巴巴矢量图标库(最方便的使用方法)
- emWin中文字库显示详细教程(简单直接)
- c语言段页式存储地址转换,页式存储和段页式存储的地址转换过程
- 计算机激光鼠标,光电鼠标和激光鼠标的区别 选择一款你喜欢的【图文】
- SCARA四轴机器人丝杆花键_scara机器人专用丝杆花键BNA1616螺母旋转式滚珠丝杆,ZCIV滚珠丝杆花键副...
- C++手敲灰度图均值滤波中值滤波高斯滤波
- web前端css之盒子模型,浮动,定位
- cmd执行bat结果不回显_让bat批处理后台运行,不显示cmd窗口(完全静化)