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

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

函数注释

"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": "[email protected]",
"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 修改日志:",
"","
Date Version Author Description", "
{date}【版本号】 【作者】 【日志】", "
"
, ], //函数注释 "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,

你可能感兴趣的:(vscode,c语言)