Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成

embedded/2025/2/3 15:13:38/

Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成

  • Chapter1 Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成
    • 1、 Doxygen简介
      • 1. 安装Doxygen
      • 1)方法一:
      • 2)方法二:
      • 2. doxygen注释自动生成插件
      • 3. doxygen注释基本语法
      • 4. doxygen的生成
  • Chapter2 Vscode配置Doxygen Doumentation Generator插件实现自动补全注释
    • (1) 在插件市场下载 Doxygen Doumentation Generator插件
    • (2) 配置插件
    • (3) Clion已经集成了Doxygen语法插件
    • (4) Build选型关键设置
  • Chapter3 Doxygen注释规范
  • Chapter4 ubuntu 使用doxygen生成软件文档[Vscode 配置doxygen插件方法]


Chapter1 Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成

原文链接:https://blog.csdn.net/youlinhuanyan/article/details/144009219

1、 Doxygen简介

Doxygen 是一个由 C++ 编写的、开源的、跨平台的文档生成系统。最初主要用于生成 C++ 库的 API 文档,但目前又添加了对 C、C#、Java、Python、Fortran、PHP 等语言的支持。其从源代码中提取注释,并生成多种输出格式,如HTML、PDF、LaTeX、RTF等,以帮助开发者创建易于阅读和理解的代码文档。

Doxygen 简化了另行编写文档带来的重复性劳动,将代码和文档的工作合二为一。经过 10 年的迭代,Doxygen 成为了 C/C++ 项目首选的文档生成工具。

官网地址:https://www.doxygen.nl/

1. 安装Doxygen

1)方法一:

ubuntu下apt命令快速安装

sudo apt-get install doxygen		// 安装doxygen
sudo apt-get install graphviz       // 安装文档中画图的软件
sudo apt-get install doxygen-gui    // 安装doxygen的配置界面

注意,如需在html的文档,中显示类图等关系图,需要安装graphviz库,安装命令如下

sudo apt-get install graphviz

且需要在Doxyfile配置文件中的DOT_PATH 指定graphviz的命令行路径

验证查看一下版本:

$ doxygen --version
1.9.1

2)方法二:

采用源码编译,则需要先下载源码,源码下载地址,点这里
https://github.com/doxygen/doxygen/releases

在这里插入图片描述
在这里插入图片描述
执行如下命令

cd doxygen-1.12.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=~/DOXYGEN ..  # 指定安装doxygen的用户目录为~/DOXYGEN
make
make install

添加到环境变量中

vim .bashrc
export PATH=$HOME/DOXYGEN/bin:$PATH

查看一下安装情况

doxygen --version

2. doxygen注释自动生成插件

  1. IDE中安装doxygen注释辅助生成插件
    正式标注前,介绍一款VsCode下的doxygen插件Doxygen Documentation Generator
    在这里插入图片描述
    2)配置插件的一些默认参数
    首先配置注释提示块的触发快捷方式,默认是/**触发的,打开插件面板,找到Doxygen Documentation 插件,点击配置图标,找到到Extension Settings
    在这里插入图片描述
    修改为如下///,当然,不修改使用默认的/**也是可以的
    在这里插入图片描述
    采用默认的///触发效果,在函数头输入///按下回车后如下:
    在这里插入图片描述
    采用默认的/**触发效果:
    在这里插入图片描述
    此外,还有很更多的默认参数,根据自己的需要进行配置,可以极大的提高效率,避免写注释时,大量的复制粘贴操作,如下可配置默认的作者、邮箱等;
    在这里插入图片描述
    可在配置中,修改如下内容
    在这里插入图片描述
    注意,上面的注释辅助生成插件不是必须的,不同的IDE环境,可能有不同的插件;即使不安装这个,也不影响doxygen的使用,只是需要手动按doxygen的注释语法,逐一手动输入即可;

3. doxygen注释基本语法

/*** @file main.cpp* @author your name (you@domain.com)* @brief * @version 0.1* @date 2024-11-24* * @copyright Copyright (c) 2024* */#include <iostream>/*** @brief main 函数* * @param argc * @param argv * @return int */
int main(int argc, char** argv)
{std::cout<< "HelloWorld"<< std::endl;return 0;
}/*** @brief helloworld fun* * @param num * @param str * @return int */
int helloWorld(int num, char* str) {return 0;
}/*** @brief 这个一个Hello -class类* */
class Hello
{
public:/*** @brief num变量* */int num;/*** @brief index介绍* */int index;/*** @brief Construct a new Hello object* * @param a * @param b */Hello(int a, int b);Hello();~Hello();
};/*** @brief Hello2* */
class Hello2: public Hello
{
public:/*** @brief Construct a new Hello 2 object* * @param a * @param b */Hello2(int a, int b);/*** @brief Destroy the Hello 2 object* */~Hello2();
};

4. doxygen的生成

首先应生成一个doxygen的配置文件,使用如下命令:

doxygen -g # 默认创建文件名为Doxyfile
# doxygen -g dox-config-file # 指定文件名

通过该配置文件,可以指定生成doxygen文档的输入、输出、生成范围等

以下是一些常用的Doxyfile配置选项:
在这里插入图片描述

执行生成命令,生成文档

# 指定默认配置文件Doxfile,生成文档
doxygen Doxyfile

默认情况下,将生成两类文档html、latex
在这里插入图片描述
如无需要latex可在Doxyfile配置文档中配置GENERATE_LATEX = NO后,如下所示
在这里插入图片描述
完成!

Chapter2 Vscode配置Doxygen Doumentation Generator插件实现自动补全注释

原文链接

(1) 在插件市场下载 Doxygen Doumentation Generator插件

(2) 配置插件

设置->settings.json, 编辑 settings.json文件,添加如下内容
在这里插入图片描述

    // 注释"doxdocgen.c.triggerSequence": "/**",   // 触发自动注释的生成"doxdocgen.c.commentPrefix": " * ",     // 注释行的前缀"doxdocgen.c.firstLine": "/**",         // 注释行的首行"doxdocgen.c.lastLine": " */",          // 注释行的尾行// file注释顺序"doxdocgen.file.fileOrder": ["copyright","empty","file","brief","author","version","date",// "custom"    // 自定义选项],// file自定义选项"doxdocgen.file.customTag": ["自定义选项",],"doxdocgen.file.copyrightTag": [                                // file注释"@copyright Copyright (c) {year}.."],"doxdocgen.generic.authorEmail":    "iotxiaohu@qq.com",         // {email}  样式"doxdocgen.generic.authorName":     "iotxiaohu",                // {author} 样式"doxdocgen.generic.dateFormat":     "YYYY-MM-DD",               // {date}   样式"doxdocgen.generic.dateTemplate":   "@date{indent:9}{date}",    // {date}   模板"doxdocgen.file.fileTemplate":      "@file{indent:9}{name}",    // {name}   模板"doxdocgen.generic.briefTemplate":  "@brief{indent:9}描述","doxdocgen.file.versionTag":        "@version{indent:9}0.1","doxdocgen.generic.authorTag":      "@author{indent:9}{author}({email})",// generic注释的内容和顺序"doxdocgen.generic.order": ["brief","empty","param","return",// "empty","author","date",// "custom",       // 自定义选项],// generic自定义选项"doxdocgen.generic.customTags": ["自定义选项",],"doxdocgen.cpp.tparamTemplate": "@tparam {param} ", // ???"doxdocgen.generic.paramTemplate": "@param{indent:9}{param}{indent:21}参数描述","doxdocgen.generic.returnTemplate": "@return{indent:9}{type} ","doxdocgen.generic.includeTypeAtReturn": true,      // return 中包含类型信息"doxdocgen.generic.boolReturnsTrueFalse": false,    // bool 返回值拆分成 true 和 false 两种情况"doxdocgen.generic.linesToGet": 4,                  // 回车后最多向下多少行去找函数声明"doxdocgen.generic.useGitUserName": false,          // {author} 是都根据 git config --get user.name 替换"doxdocgen.generic.useGitUserEmail": false,

(3) Clion已经集成了Doxygen语法插件

在函数前输入

/**

回车,就可以自动出现需要填写的内容.
但是clion的插件只对函数有用, 对文件开头没有用,那就自己添加吧.

(4) Build选型关键设置

在这里插入图片描述

Chapter3 Doxygen注释规范

原文链接

在这里插入图片描述

ubuntu_doxygenVscode_doxygen_295">Chapter4 ubuntu 使用doxygen生成软件文档[Vscode 配置doxygen插件方法]

原文链接

在这里插入图片描述


http://www.ppmy.cn/embedded/159206.html

相关文章

飞桨PaddleNLP套件中使用DeepSeek r1大模型

安装飞桨PaddleNLP 首先安装最新的PaddleNLP3.0版本&#xff1a; pip install paddlenlp3.0.0b3 依赖库比较多&#xff0c;可能需要较长时间安装。 安装好后&#xff0c;看看版本&#xff1a; import paddlenlp paddlenlp.__version__ 输出&#xff1a; 3.0.0b3.post2025…

群晖NAS安卓Calibre 个人图书馆

docker 下载镜像johngong/calibre-web&#xff0c;安装之 我是本地的/docker/xxx/metadata目录 映射到 /usr/local/calibre-web/app/cps/metadata_provider CALIBREDB_OTHER_OPTION 删除 CALIBRE_SERVER_USER calibre_server_user 缺省用户名口令 admin admin123 另外有个N…

AI开发学习之——PyTorch框架

PyTorch 简介 PyTorch &#xff08;Python torch&#xff09;是由 Facebook AI 研究团队开发的开源机器学习库&#xff0c;广泛应用于深度学习研究和生产。它以动态计算图和易用性著称&#xff0c;支持 GPU 加速计算&#xff0c;并提供丰富的工具和模块。 PyTorch的主要特点 …

Games202Lecture5 Real time Environment mapping实时环境光照

SDF &#xff08;Signed Distance Function&#xff09; SDF shadows pro:快 con:需要大量存储 相关理论&#xff1a;optimal transport sdf作用1&#xff1a;做ray marching (03min:20s) https://www.youtube.com/watch?vhX3mazz8txohttps://www.youtube.com/watch?vh…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.11 视图与副本:内存优化的双刃剑

2.11 视图与副本&#xff1a;内存优化的双刃剑 目录 #mermaid-svg-OpelXRXip4Xj1A2e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-OpelXRXip4Xj1A2e .error-icon{fill:#552222;}#mermaid-svg-OpelXRXip4Xj1A2e .…

ArkTS高性能编程实践

文章目录 概述声明与表达式函数数组异常 概述 本文主要提供应用性能敏感场景下的高性能编程的相关建议&#xff0c;助力开发者开发出高性能的应用。高性能编程实践&#xff0c;是在开发过程中逐步总结出来的一些高性能的写法和建议&#xff0c;在业务功能实现过程中&#xff0…

WGCLOUD使用介绍 - 如何监控ActiveMQ和RabbitMQ

根据WGCLOUD官网的信息&#xff0c;目前没有针对ActiveMQ和RabbitMQ这两个组件专门做适配 不过可以使用WGCLOUD已经具备的通用监测模块&#xff1a;进程监测、端口监测或者日志监测、接口监测 来对这两个组件进行监控

详细介绍:使用 Axios 上传图片文件

目录 1. 项目背景和功能概述 2. &#xff08;index.html完整代码&#xff09;结构解析 3. JavaScript 部分解析 3.1 事件监听和图片上传 3.2 处理响应和错误 4. 完整流程 5. 总结 6. 适用场景 这篇文章将展示如何通过 Axios 发送 POST 请求来实现图片上传。通过用户选择…