VSCode 开发C/C++实用插件分享——koroFileHeader

相关文章
VSCode 开发C/C++实用插件分享——codegeex


VSCode 开发C/C++实用插件分享——koroFileHeader

  • 一、koroFileHeader
  • 二、使用步骤
    • 1.安装
    • 2.头文件注释配置
    • 3.函数注释配置


一、koroFileHeader

 在有些场景下,我们需要在文件头添加一些作者、文件描述、时间和版权描述等信息或者是添加函数注释信息。要是需要一个一个去添加会费事费力,使用这款插件就可以很好的解决这个问题。

二、使用步骤

1.安装

在这里插入图片描述

2.头文件注释配置

 这个插件可以支持个性化的定制,我们只需要通过去修改setting.json文件中的配置就可以得到想要的效果。官方文档写的很详细,在这里我只介绍一些比较常见的配置项。

  • 我们先copy 文档这个常用的配置,每段代码的功能注释里面已经写的很明白了

    // 头部注释
    "fileheader.customMade": {// Author字段是文件的创建者 可以在specialOptions中更改特殊属性// 公司项目和个人项目可以配置不同的用户名与邮箱 搜索: gitconfig includeIf  比如: https://ayase.moe/2021/03/09/customized-git-config/// 自动提取当前git config中的: 用户名、邮箱"Author": "git config user.name && git config user.email", // 同时获取用户名与邮箱// "Author": "git config user.name", // 仅获取用户名// "Author": "git config user.email", // 仅获取邮箱// "Author": "OBKoro1", // 写死的固定值 不从git config中获取"Date": "Do not edit", // 文件创建时间(不变)// LastEditors、LastEditTime、FilePath将会自动更新 如果觉得时间更新的太频繁可以使用throttleTime(默认为1分钟)配置更改更新时间。"LastEditors": "git config user.name && git config user.email", // 文件最后编辑者 与Author字段一致// 由于编辑文件就会变更最后编辑时间,多人协作中合并的时候会导致merge// 可以将时间颗粒度改为周、或者月,这样冲突就减少很多。搜索变更时间格式: dateFormat"LastEditTime": "Do not edit", // 文件最后编辑时间// 输出相对路径,类似: /文件夹名称/src/index.js"FilePath": "Do not edit", // 文件在项目中的相对路径 自动更新// 插件会自动将光标移动到Description选项中 方便输入 Description字段可以在specialOptions更改"Description": "", // 介绍文件的作用、文件的入参、出参。// custom_string_obkoro1~custom_string_obkoro100都可以输出自定义信息// 可以设置多条自定义信息 设置个性签名、留下QQ、微信联系方式、输入空行等"custom_string_obkoro1": "", // 版权声明 保留文件所有权利 自动替换年份 获取git配置的用户名和邮箱// 版权声明获取git配置, 与Author字段一致: ${git_name} ${git_email} ${git_name_email}"custom_string_obkoro1_copyright": "Copyright (c) ${now_year} by ${git_name_email}, All Rights Reserved. "// "custom_string_obkoro1_copyright": "Copyright (c) ${now_year} by 写死的公司名/用户名, All Rights Reserved. "
    },
    // 函数注释
    "fileheader.cursorMode": {"description": "", // 函数注释生成之后,光标移动到这里"param": "", // param 开启函数参数自动提取 需要将光标放在函数行或者函数上方的空白行"return": "",
    }
    
  • 直接用这个段配置代码,可能显示会有问题,就比如 Author 这里是直接去获取你自己git的用户名,要是没有注册过git是获取不了的,就像下面显示的这样

使用快捷键(ctrl+window+i),如果快捷键用不了,修改一下快捷键映射就行
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 所以我们需要修改名字和邮箱,修改如下
    在这里插入图片描述

  • 修改之后的效果
    在这里插入图片描述

3.函数注释配置

  • 在上面配置好之后,我们直接将光标移动到需要添加注释的地方,然后使用快捷键(ctrl+win+t),他可以自己提取参数,不过描述和返回值需要自己写。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/196710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis主从复制实现RCE

文章目录 前置知识概念redis常用命令redis module 利用条件利用工具思路例题 [网鼎杯 2020 玄武组]SSRFMe方法一方法二 总结 前置知识 概念 背景是多台服务器要保存同一份数据,如何实现其一致性呢?数据的读写操作是否每台服务器都可以处理?这…

Linux 基础知识整理(二)

Linux系统主目录 进入Linux系统的主目录(使用命令:cd /),目录结构如下: [rooticoolkj ~]# cd / [rooticoolkj /]# ll 总用量 112 lrwxrwxrwx. 1 root root 7 7月 11 2019 bin -> usr/bin dr-xr-xr-x. 5 …

线性规划问题

线性规划问题: 将约束条件及目标函数都是决策变量的线性函数的规划问题称为线性规划问题 一般线性规划问题的描述: 为了解决这类问题,首先需要确定问题的决策变量:然后确定问题的目标,并将目标表示为决策变量的线性函数;最后找出问…

python之ddddocr快速识别

1. 安装模块 pip install ddddocr -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com2. 编写代码 import ddddocr # 导入orc模块 import logging # 导入日志 logging.getLogger().setLevel(logging.INFO) # 设置日志级别 def ComputeCode(path):try:logg…

Trello软件:从功能、使用技巧到替代软件等,一文弄懂项目管理必备工具!

Trello是什么? Trello是一款基于Web的可视化项目管理工具,它旨在提供一种灵活、易于理解和使用的任务管理系统。Trello将复杂的项目管理流程简化为直观的卡片和列表,使团队成员能轻松看到整个项目的状态,并了解自己的责任和任务。…

VPS服务器”性价比之王”系列:RackNerd

2023 黑五!!!新 Ryzen 系列 洛杉矶dc02机房重新补货! 支付方式:支付宝、PayPal、信用卡、数字货币 2023 黑五促销活动(限量) CPU内存硬盘(SSD)流量带宽价格(续费同价)购买链接1核768 MB15GB…

应急响应-挖矿病毒处理

应急响应-挖矿病毒处理 使用top​命令实时监控占用CPU资源的是哪个进程,结果可以看到是2725这个进程。 ​​ 再使用netstat -anltp命令查看网络连接状态,定位到对应的PID号后,就拿到了远程地址 ​​ 拿到远程IP,结果是VPN入口…

node运行报错:error:0308010C:digital envelope routines::unsupported

运行vue前端项目时遇到报错,分析因为node版本不支持。 主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。 我的node版本是v20。 方案1&…

SQL Sever 基础知识 - 数据筛选(2)

SQL Sever 基础知识 - 四、数据筛选 第3节 NULL3.1 NULL 和三值逻辑3.2 IS NULL / IS NOT NULL 第4节 AND4.1 AND 运算符简介4.2 AND 运算符示例4.2.1 一个 AND 运算符4.2.2 多个 AND 运算符4.2.3 将 AND 运算符与其他逻辑运算符一起使用 第5节 OR5.1 OR 运算符简介5.2 OR 运算…

Python高效编程:十招实用技巧大揭秘!

更多资料获取 📚 个人网站:ipengtao.com 1. 代码优化与高效数据结构 Python中使用合适的数据结构对于代码性能至关重要。例如,使用字典(dict)快速查找元素: # 使用字典进行快速查找 sample_dict {a: 1,…

Linux lshw命令(lshw指令)(List Hardware,获取底层硬件信息)(查询硬件信息)

文章目录 Linux lshw命令:一个全面的硬件信息查询工具介绍安装lshw使用lshwlshw的选项和参数lshw文档英文文档中文文档 命令示例lshw -c network -sanitize查看系统网络硬件信息,并移除敏感项(显示为REMOVED) lshw与其他命令的对比…

创新零售巨头:揭开山姆与Costco蓬勃发展背后的秘密

会员制商店这个冷门的业态突然之间硝烟弥漫,更多的资本开始涌向付费会员商店这一业态,本文即将探讨的是付费会员制的成功秘诀和零售企业可行的发展路径。Costco的发展经验对国内超市巨头的崛起具有显著的借鉴意义,以优质低价商品服务为中心&a…

.NET Core6.0 MVC+layui+SqlSugar 简单增删改查

HTML部分: {ViewData["Title"] "用户列表"; } <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>用户列表</title><meta name"renderer" content"webkit"><meta …

VUE2+THREE.JS 销毁,防止越来越卡顿

THREE.JS 销毁 将场景相关的参数重置&#xff0c;防止页面多次打开&#xff0c;导致的越来越卡顿的问题 beforeDestroy() {this.resetScene(); }, deactivated() {this.resetScene(); },//销毁场景等信息 resetScene() {this.isShowWebgl false; //销毁divtry {cancelAnimatio…

【LeetCode 0151】【字符串】反转字符串中的单词

题目 https://leetcode.com/problems/reverse-words-in-a-string/ 题解 正则高阶函数 var reverseWords function(s) {return s.split(/[\s]/).filter(e>e!"").reverse().join(" ") };迭代双指针&#xff08;时间O(n) 空间O(n) &#xff09;&am…

【网络奇缘】- 计算机网络|分层结构|深入探索TCP/IP模型|5层参考模型

​ &#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏: 一见倾心,再见倾城 --- 计算机网络~&#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 OSI参考模型与TCP/IP参考模型相同点 OSI参考模型与TCP/IP参考模型不同点 面向连接三阶段&#xff08…

(C语言)计算n的阶乘

要求使用双精度 #include<stdio.h> double factorial(int n) {if(n 1)return 1;return n * factorial(n-1); } int main() {int n ;double res;scanf("%d",&n);res factorial(n);printf("%lf",res); return 0; } 运行截图&#xff1a; 注&am…

深入微服务架构 | 微服务与k8s架构解读

微服务项目架构解读 ① 什么是微服务&#xff1f; 微服务是指开发一个单个小型的但有业务功能的服务&#xff0c;每个服务都有自己的处理和轻量通讯机制&#xff0c;可以部署在单个或多个服务器上。 微服务也指一种种松耦合的、有一定的有界上下文的面向服务架构。也就是说&…

react结合vant的Dialog实现签到弹框操作

1.需求 有时候在开发的时候&#xff0c;需要实现一个签到获取积分的功能&#xff0c;使用react怎么实现呢&#xff1f; 需求如下&#xff1a; 1.当点击“签到”按钮时&#xff0c;弹出签到框 2.展示签到信息&#xff1a; 签到天数&#xff0c; 对应天数签到能够获取的积分&…

08 # 接口:函数类型接口

变量定义函数类型 let addFunc: (x: number, y: number) > number;接口定义函数类型 interface AddFunc1 {(x: number, y: number): number; }类型别名定义函数类型 type AddFunc2 (x: number, y: number) > number;实现具体函数 let add1: AddFunc1 (x, y) > x…