【Doxygen】Vscode 插件 DoxyGen Documentation Generator C语言详细设置

2023-11-10

DoxyGen Documentation Generatorc

这个VsCode插件可以设置C/C++的doxygen格式自动填充,本文只介绍C语言的json文件配置。

触发方式

"doxdocgen.c.triggerSequence": "/**",//输入/**然后回车会触发文件头和函数注释自动补全
"doxdocgen.generic.linesToGet": 50,//最多检测行数,如果函数体比这个行数多,那么将无法识别函数

首行、尾行和非首行尾行前缀

"doxdocgen.c.firstLine": "/**",
"doxdocgen.c.lastLine": " */",
"doxdocgen.c.commentPrefix": " * ",
/**
 * @brief
 *  
 */
"doxdocgen.c.firstLine": "/*@",
"doxdocgen.c.lastLine": "@*/",
"doxdocgen.c.commentPrefix": " @ ",
/*@
 @ @brief
 @  
@*/

文件头注释及排序

     // 文件注释的组成及其排序
  "doxdocgen.file.fileOrder": [
    "file",        // @file
    "brief",    // @brief 简介
    "author",    // 作者
    "version",    // 版本
    "date",        // 日期
    "empty",    // 空行
    "copyright",// 版权
    "empty",
    "custom"    // 自定义
],
// 下面时设置上面标签tag的具体信息
"doxdocgen.file.fileTemplate": "@file {name}",
"doxdocgen.file.copyrightTag": [
    "@copyright Copyright (c) {year}  TEST"
],

"doxdocgen.file.versionTag": "@version 2.0",

"doxdocgen.generic.authorEmail": "test@test.com",
"doxdocgen.generic.authorName": "test",
"doxdocgen.generic.authorTag": "@author {author} ({email})",
"doxdocgen.file.customTag": [
    "@par 修改日志:",
  "<table>",
  "<tr><th>Date       <th>Version <th>Author <th>Description",
  "<tr><td>{date} <td>2.0     <td>test     <td>内容",
  "</table>",
]
"doxdocgen.generic.dateFormat": "YYYY-MM-DD",
"doxdocgen.generic.dateTemplate": "@date{date}",
/**
 * @file m4.h
 * @brief 
 * @author test (test@test.com)
 * @version 2.0
 * @date 2023-02-23
 * 
 * @copyright Copyright (c) 2023  TEST
 * 
 * @par 修改日志:
 * <table>
 * <tr><th>Date       <th>Version <th>Author <th>Description
 * <tr><td>2023-02-23 <td>2.0     <td>test     <td>内容
 * </table>
 */

函数注释

"doxdocgen.generic.briefTemplate": "@brief{indent:10}{text}【描述】",//brief
"doxdocgen.generic.paramTemplate": "@param[in/out]{indent:15}{param}{indent:20}【参数注释】",
"doxdocgen.generic.returnTemplate": "@return {type}{indent:20}【返回值注释】",
"doxdocgen.generic.customTags": ["@warning{indent:10}【不可重入,阻塞等警告】", "@note{indent:10}【重大修改】"],//用户自定义
"doxdocgen.generic.includeTypeAtReturn": true,//返回值是否写类型
"doxdocgen.generic.order":["brief", "param", "return", "empty", "custom"],
/******************************************************************************
*@brief    【描述】
*@param[in/out] a    【参数注释】
*@param[in/out] b    【参数注释】
*@return float       【返回值注释】
*
*@warning  【不可重入,阻塞等警告】
*@note     【重大修改】
******************************************************************************/
float Test(int a, int b)
{

}

其他

  1. bool返回值处理
"doxdocgen.generic.boolReturnsTrueFalse": false,
/**
 * @brief 
 * 
 * @param me 
 * @return bool 
 */
bool Init_ModuleA(Module* me){}

"doxdocgen.generic.boolReturnsTrueFalse": true,
/**
 1. @brief 
 2. 
 3. @param me 
 4. @return true 
 5. @return false 
 */
bool Init_ModuleA(Module* me){}
  1. Get,Set,Creat函数
"doxdocgen.generic.splitCasingSmartText": true,//智能拆函数名,比如把GetObjectData拆成Object Data
"doxdocgen.c.setterText": "Set {name}",//以Get开头的函数
"doxdocgen.c.getterText": "Get {name}",//以Set开头的函数
"doxdocgen.c.factoryMethodText": "Create {name}",//以Create开头的函数
/******************************************************************************
*@brief    Get Object Data【描述】
*@param[in/out] a    【参数注释】
*@param[in/out] b    【参数注释】
*@return float       【返回值注释】
*
*@warning  【不可重入,阻塞等警告】
*@note     【重大修改】
******************************************************************************/
float GetObjectData(int a, int b)
{

}

  1. 关键字过滤
"doxdocgen.generic.filteredKeywords": [
    "me",
],//忽略关键字me
/******************************************************************************
*@brief    【描述】
*@param[in/out] a    【参数注释】
*@param[in/out] b    【参数注释】
*@return int         【返回值注释】
*
*@warning  【不可重入,阻塞等警告】
*@note     【重大修改】
******************************************************************************/
int Test(int me, int a, int b)
{

}
  1. 命令建议
//输入\会补全doxygen关键字,没太搞清楚
"doxdocgen.generic.commandSuggestion": true,
"doxdocgen.generic.commandSuggestionAddPrefix": true,

样例

附一份我在用的C语言注释,粘到json即可

//基础设置
"doxdocgen.c.triggerSequence": "/**",
"doxdocgen.c.firstLine": "/******************************************************************************",
"doxdocgen.c.commentPrefix": "*",
"doxdocgen.c.lastLine": "******************************************************************************/",
"doxdocgen.generic.linesToGet": 50, //如果有很多超级大函数要把这个值设置很大

// 文件头
"doxdocgen.file.fileOrder": [
"file",        // 文件名
"brief",    // 文件概述
"author",    // 作者
"version",    // 版本
"date",        // 日期
"empty",    // 空行
"copyright",// 版权
"empty",
"custom"    // 自定义
],
//file
"doxdocgen.file.fileTemplate": "@file{indent:10}{name}",
//brief 居然和函数注释用的同一个
//"doxdocgen.generic.briefTemplate": "@brief{indent:10}{text}【描述】",
//author
"doxdocgen.generic.authorEmail": "test@test.com",
"doxdocgen.generic.authorName": "苏打豆",
"doxdocgen.generic.authorTag": /*"@author {author} ({email})"*/"@author{indent:10}{author}",
//version
"doxdocgen.file.versionTag": "@version{indent:10}1.0",
//date
"doxdocgen.generic.dateFormat": "YYYY.MM.DD",
"doxdocgen.generic.dateTemplate": "@date{indent:10}{date}",
//copyright
"doxdocgen.file.copyrightTag": [
"@copyright{indent:12}Copyright (c) 2011 ABC.Co.Ltd. All rights reserved."
],
//custom
"doxdocgen.file.customTag": [
"@par 修改日志:",
"<table>",
"<tr><th>Date       <th>Version   <th>Author      <th>Description",
"<tr><td>{date}<td>【版本号】     <td>【作者】     <td>【日志】",
"</table>",
],

//函数注释
"doxdocgen.generic.order":[
"brief",
"param",
"return",
"empty",
"custom"],
//brief
"doxdocgen.generic.briefTemplate": "@brief{indent:10}{text}【描述】",
"doxdocgen.generic.splitCasingSmartText": true,//(没用)
"doxdocgen.c.setterText": "Set {name}",//Get方法(没用)
"doxdocgen.c.getterText": "Get {name}",//Set方法(没用)
"doxdocgen.c.factoryMethodText": "Create {name}",//Create方法(没用)
//param
"doxdocgen.generic.paramTemplate": "@param[in/out]{indent:15}{param}{indent:20}【参数注释】",
"doxdocgen.generic.filteredKeywords": [
"me"],
//return
"doxdocgen.generic.returnTemplate": "@return {type}{indent:20}【返回值注释】",
"doxdocgen.generic.includeTypeAtReturn": true,
"doxdocgen.generic.boolReturnsTrueFalse": false,
//custom
"doxdocgen.generic.customTags": ["@warning{indent:10}【不可重入,阻塞等警告】", "@note{indent:10}【重大修改】"],//用户自定义

//命令建议(没用)
"doxdocgen.generic.commandSuggestion": true,
"doxdocgen.generic.commandSuggestionAddPrefix": true,





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Doxygen】Vscode 插件 DoxyGen Documentation Generator C语言详细设置 的相关文章

  • Qt 自动单元测试Auto Test Project详解

    Qt 自动单元测试Auto Test Project详解 有时 残缺也是一种美 测试 则意味着需要投入 有些项目的迭代周期很短 如果也搞一个 test 则可能性价比很低 Qt 自动单元测试Auto Test Project详解 官方 htt
  • Eigen矩阵运算库快速上手

    目录 1 配置 2 初始化 2 1 Array类 2 2 Vector类 2 3 Matrix类 2 4 Vector赋值 2 5 高级初始化 3 矩阵计算 3 1 矩阵基本计算 3 2 线性求解 3 3 特征值计算 3 4 奇异值分解 总
  • spring的自动装配三种模式

    第一种装配模式是我们非常熟悉的xml配置 这种装配需要写id class 还有这个类具体的属性值等等 较为麻烦 第二种byName和byType的自动装配模式 如何设置呢 我们有三个类 cat dog people 并且people种有ca
  • MATLAB进阶教程第一节(图形绘制)

    本节是matlab进阶教程的第一节 头一次看的小白请先看完我的matlab入门基础 方便消化 对那些急需图形绘制的朋友将会有很大帮助 一 二维图形的绘制 1 1plot函数 形式 plot X Y S X Y是向量 分别表示点集的横坐标和纵

随机推荐

  • c++基础十四(冒泡排序)

    冒泡排序 基本思路 对于一组要排序的元素列 依次比较相邻的两个数 将比较小的数放在前面 比较大的数放在后面 如此继续 直到比较到最后的两个数 将小数放在前面 大数放在后面 重复步骤 直至全部排序完成 例子 数组Num 5 9 6 7 3 1
  • 常用的MySQL 优化方法

    数据库优化一方面是找出系统的瓶颈 提高MySQL数据库的整体性能 而另一方面需要合理的结构设计和参数调整 以提高用户的相应速度 同时还要尽可能的节约系统资源 以便让系统提供更大的负荷 本文我们来谈谈项目中常用的MySQL优化方法 共19条
  • Bluetooth 蓝牙介绍(三):低功耗蓝牙BLE空口协议Ⅱ

    文章目录 前言 4 5 CONNECTION STATE 4 5 1 Connection events 4 5 2 Supervision timeout 4 5 3 Connection event transmit window 4
  • BurpSuite实现图形验证码识别

    Burp Suite 图形验证码识别 工具 百度ocr识别的使用 打码平台 导入Burp中 工具 Burp Suite Captcha killer burp 验证码识别插件 百度ocr识别 打码平台识别 百度ocr识别的使用 注册百度账号
  • Ajax实现同步

    1 问题 2 解决 1 问题 今天在写分页查询时 因为前端使用的jQuery分页组件 div div
  • how to free up more space in boot partition with Ubuntu16.04

    Your boot partition is full Since this is a kernel update these files will be copied to the boot partition so you need t
  • Hyperledger Fabric学习笔记——3.测试网络的启动分析

    1 启动网络 执行以下指令均要以管理员身份运行 请首先执行su root命令 查看目录 cd home gopath src github com hyperledger fabric samples first network env 存
  • Anaconda安装教程

    Anaconda安装教程 前言 一 Anaconda是什么 二 安装Anaconda步骤 1 下载安装包 安装包下载方法一 安装包下载方法二 建议使用 查看操作系统位数方法 方法一 官网下载安装包 方法二 清华大学开源镜像站下载Anacon
  • window 中 anaconda 下载与安装

    下载 anaconda官网地址 Anaconda Anaconda Distribution 官网打开会看到如下显示 点击download进行下载 或者拉到最下面 选择以往的版本进行下载 windows根据自己电脑选择下载 也可点击下面的a
  • Maven 资源文件(Resources)的打包(package)与过滤(filter)

    资源文件 最常见的 XML Properties 配置文件 比如使用 Mybatis 时的 Mapper Spring 的 ApplicationContext 配置 打包 package 根据 Maven 的默认项目结构 资源文件放置在
  • Android Studio的升级

    一般大家自己电脑都可以自升级 直接在Android Studio中上面导航栏找到check for updates选项点击就行 而如果大家所在公司保密做的比较好 不允许访问外网就只能另想办法了 下面提供两种方案 一 增量更新 增量更新就是在
  • C++ std::thread多线程详解

    c 多线程详解 一 std thread线程创建 1 函数指针 2 Lambda函数 3 functor Funciton Object 4 非静态成员函数 5 静态成员函数 二 std thread线程停止 1 join函数 2 deta
  • 编译报错:error: no matching function for call to

    No matching function for call 表示当我们调用某些函数时 该函数的参数与函数定义的参数不匹配 因此 我们得到一个错误 No matching function for call 所以当我们继续向函数传递不正确类型
  • 小程序微信支付流程(商城余额支付,优惠券支付,积分抵消,微信支付)

    小程序微信支付的流程图 1 登录微信公众平台 开通微信支付功能 这是准备工作的第一步 确保小程序对应的支付功能已经开启 2 登录微信商户平台 该步骤需要获取两个参数 一个是商户号 一个是支付秘钥 如下图所示 注意秘钥自己要保护好 相当于支付
  • idea 2022.1 全新ui 配置

    idea 2022 1 全新ui 配置 版本 IntelliJ IDEA 2022 1 221 5080 210 build 其他的没有测过 以后再也不说大话了 丑陋 具体步骤 打开IDEA 双击shift 在弹出的搜索框中输入Regist
  • 程序部署到服务器服务无法启动问题

    问题描述 原先有一个程序在服务器正常运行 但是客户突然把重装了服务器系统 改为了 无限的未知 win2003 完整克隆版 V8 32位 虽然不太理解客户的心理 但是谁让人家是客户呢 老老实实重装环境部署程序 万幸一切正常 但是我想的太简单了
  • 关于2022年软件测试的5大趋势探讨

    随着数字化技术应用的广泛普及 业界对于软件测试的要求也在持续迭代与增加 当前 越来越多的企业和组织都相继采用了Agile 敏捷 和DevOps之类的软件开发方法 以鼓励和促进测试团队和开发团队之间的紧密协作 根据Gartner的预测 到20
  • deepin v20安装mysql

    deepin v20 换源和安装mysql 由于deepin v20不能直接安装mysql所以先进行换源 更换成阿里源 这样以后速度可以更快 修改文件 sudo vim etc apt sources list 删除内容 并添加以下内容 G
  • DDlog语言特征

    原文地址 这里写链接内容 DDlog是一种语法为datalog式 用来编写DeepDive应用的语言 一个ddlog程序会被编译成deepdive格式下的配置文件 我们通常用这个文件来运行我们的应用 一个ddlog程序由一组声明组成 这些声
  • 【Doxygen】Vscode 插件 DoxyGen Documentation Generator C语言详细设置

    DoxyGen Documentation Generatorc 这个VsCode插件可以设置C C 的doxygen格式自动填充 本文只介绍C语言的json文件配置 触发方式 doxdocgen c triggerSequence 输入