当前位置: 首页 > news >正文

【小工具】-Doxygen01

0、前言

参考帖子。
使用Doxygen Documentation Generator自动添加注释
Doxygen使用教程
代码注释规范之Doxygen

1、Doxygen介绍

Doxygen 是一个功能强大的开源文档生成工具,主要用于从源代码中自动提取注释并生成专业的 API 文档。它支持多种编程语言(C、C++、Java、Python、Objective-C 等),广泛应用于软件开发、库开发和技术文档编写。

  • 自动提取代码注释
  • 生成多种格式的文档
  • 生成类图和依赖关系
  • 自动生成文档结构组织
  • 条件编译文档(通过 \if、\else、\endif 为不同平台或配置生成不同文档)

2、Doxygen常用注释命令

@project与\project等效,其它注释命令也是一样的道理。

注释命令含义
@project描述项目
@file描述文件
@author作者信息
@version描述版本
@date描述时间
@copyright描述权限
@attention注意事项
@brief概要信息
@example使用示例
@ wanrning{warning message}一些需要注意的事情
@ todo{things to be done}即将要做的事情,会链接到todo列表
@ bug有缺陷的地方,会链接到bug列表
@see引用其它文档或项目
@code···@endcode注释中说明某一代码段
@deprecated废弃的函数
@note开始一个段落,用来描述一些注意事项
@param标注一个参数的意义
@return描述一个返回的意义
@include标注包含文件
@var描述变量
@enum描述枚举
@struct描述结构体
@clas描述类

3、如何在VSCode中使用Doxygen

Doxygen有专门的工具,不过我目前是在vscode中安装Doxygen Documentation Generator,暂时只需要快速生成规范性注释。若需要生成文档或图表,就需要使用Doxygen工具了。
在这里插入图片描述

4、如何进行自定义规范

可以在setting.json文件中配置,或setting界面配置相关参数,主要配置的就是触发快捷键、作者、邮箱等。也可以在setting.json中配置自定义分格的注释。
下面贴上自己配置的注释风格。(注意,自定义的风格里面,有显示内容限制,可以参考setting界面的说明)

"doxdocgen.generic.authorEmail": "xxx@163.com","doxdocgen.generic.authorName": "xxx","doxdocgen.file.copyrightTag": ["@copyright Copyright (c) {year} , All Rights Reserved. ",],"doxdocgen.file.customTag": ["**********************************************************************",],"doxdocgen.file.fileOrder": ["custom","file","author","version","date","brief","copyright",   "empty", "custom" ],"doxdocgen.generic.customTags": ["**********************************************************************",],"doxdocgen.generic.order": ["custom","brief","param","return","custom",],"doxdocgen.generic.paramTemplate": "@param {param} comment ","doxdocgen.generic.returnTemplate": "@return {type} comment",// 触发快捷键"doxdocgen.c.triggerSequence": "///",

效果如下。
请添加图片描述
请添加图片描述

http://www.xdnf.cn/news/1006075.html

相关文章:

  • slam--非线性优化
  • BEV和OCC学习-8:mmdet3d 3D分割demo测试
  • 如何利用单细胞转录组进行细胞图谱和疾病机制研究?
  • 爬虫实践:TOP250电影数据
  • 从数学到代码:一文详解埃拉托色尼筛法(埃式筛)
  • 阳台光伏防逆流电表革新者:安科瑞ADL200N-CT/D16-WF
  • ref 应用于对象类型的一个案例
  • CKA考试知识点分享(11)---CRD
  • JavaScript DOM 操作与事件处理全解析
  • BeanUtil.copyProperties()进行属性拷贝时如何忽略NULL值——CopyOptions配置详解
  • 高效管理Python环境:Miniforge、pyenv和Poetry深度对比与应用
  • 建筑业应用:机器人如何改变未来建筑业发展方向
  • 介绍一下 TCP方式程序的通讯,服务器机与客户机
  • 使用 DeepSeek 为 TDengine 创建专属知识库
  • 部署安装maven和mvnd
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | RandomChoicePicker(标签生成)
  • 西门子PLC读取梅安森风压传感器数据
  • 【2025】深度学习环境搭建记录
  • inet_addr()和inet_aton()函数详解
  • 【log4j2】将运行时变量注入日志、附性能对比与生产案例(动态日志实战)
  • JFLASH 提示license 配置操作 Sorry,no valid license for I-Flash found.
  • Trae重磅升级
  • Python 字典
  • 第六节 工程化与高级特性-TS配置选项解析
  • AUTOSAR图解==>AUTOSAR_TR_InteroperabilityOfAutosarTools
  • Rust 通用代码生成器:莲花,红莲尝鲜版三十六,哑数据模式图片初始化功能介绍
  • 测试完成的标准是什么?
  • Vue3项目与桌面端(C++)通过Websocket 对接接口方案实现
  • 【源码+文档+调试讲解】自习室系统
  • HALCON第二讲->预处理