VSCode 配置自动生成头文件

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

VSCode 配置自动生成头文件

  • 一、snippets
  • 二、配置步骤
  • 三、效果展示


一、snippets

 相信大家对C、C++都头文件都不陌生,都会发现每个头文件都会包括下面的这些格式,要是需要自己创建多个头文件,每个都需要修改名字就很麻烦。这时候我们就可以通过配置全局用户代码片段(snippets)来解决这个问题。
在这里插入图片描述

二、配置步骤

  • 打开命令面板(ctrl+shift+p)
    在这里插入图片描述
  • 输入snippets 选择配置用户代码片段
  • 在这里插入图片描述
  • 输入文件名(随便定义都行)
    在这里插入图片描述
    在这里插入图片描述
  • 就会得到下面这个文件

在这里插入图片描述

  • 增加配置文件
    将下面代码复制到文件中,注释已经写的很清楚了,这就不细说
	"C C++ Header": {"scope": "c, cpp", //代码片段的作用范围"prefix": "header",//代码片段的前缀,当您在编辑器中输入这个前缀并按下 Tab 键时,代码片段将被激活并生成相应的代码"description": "Add header defind", // 功能描述"body": [// 防止头文件被多次包含的预处理指令 ,${TM_FILENAME_BASE},它代表当前文件的基本文件名"#ifndef ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H",// 定义一个唯一的宏,标记当前文件的开始"#define ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H",// 空行,增加可读性"",// 光标停留位置,开始编写实际代码"$0",// 空行,增加可读性"",// 结束预处理指令,使用与上面相同的宏名称"#endif // ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H"]}
  • 整个文件
{// Place your 全局 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. // Placeholders with the same ids are connected.// Example:// "Print to console": {// 	"scope": "javascript,typescript",// 	"prefix": "log",// 	"body": [// 		"console.log('$1');",// 		"$2"// 	],// 	"description": "Log output to console"// }"C C++ Header": {"scope": "c, cpp", //代码片段的作用范围"prefix": "header",//代码片段的前缀,当您在编辑器中输入这个前缀并按下 Tab 键时,代码片段将被激活并生成相应的代码"description": "Add header defind", // 功能描述"body": [// 防止头文件被多次包含的预处理指令 ,${TM_FILENAME_BASE},它代表当前文件的基本文件名"#ifndef ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H",// 定义一个唯一的宏,标记当前文件的开始"#define ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H",// 空行,增加可读性"",// 光标停留位置,开始编写实际代码"$0",// 空行,增加可读性"",// 结束预处理指令,使用与上面相同的宏名称"#endif // ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H"]}}

三、效果展示

 新建一个h文件,然后输入header,当vscode中显示header悬浮文字的时候,按一下tab键就可以生成了。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Cent OS7 磁盘挂载:扩展存储空间和自动挂载

文章目录 (1)概述(2)查看磁盘使用情况(3)VMware虚拟机挂载磁盘(4)物理机磁盘挂载(5)ntfs硬盘处理 (1)概述 在Linux系统中&#xff0c…

智能优化算法应用:基于共生生物算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于共生生物算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于共生生物算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.共生生物算法4.实验参数设定5.算法结果6.…

拓展 Amazon S3 技术边界:Amazon S3 Express One Zone 的创新之路

授权说明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 亚马逊云科技开发者社区, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 自 Amazon S3 服务推出以来,一直是全球各行各业数百万客…

学习MS Dynamics AX 2012编程开发 1. 了解Dynamics AX 2012

在本章中,您将了解开发环境的结构以及Microsoft Dynamics AX中的开发人员可以访问哪些工具。在本书的第一步演练之后,您将很容易理解著名的Hello World代码,您将知道应用程序对象树中的不同节点代表什么。 以下是您将在本章中学习的一些主题…

linux7安装python3.12.1教程

1.下载tar.gz包 地址:Python Release Python 3.12.1 | Python.org 2.上传包到linux服并解压 cd /home/local/ ll tar -zxvf Python-3.12.1.tgz 3.安装编译python所需环境 yum install -y gcc yum install -y zlib* yum -y install zlib-devel bzip2-devel opens…

大象elephant目标检测数据集VOC+YOLO格式2300张

大象是长鼻目象科的哺乳动物,有两个属,是世界上最大的陆生动物。其像柱子一样的四肢和宽厚的脚掌可以稳稳支撑住庞大的身体。巨大的头上长有蒲扇状的大耳朵和长且有弹性的鼻子。象耳上有丰富的血管,可以有效散热。鼻子和上唇合而为一的象鼻由…

计算机网络——网络层——OSPF协议的介绍

什么是 OSPF ? OSPF 是一个基于链路状态的自治系统内部路由协议,在 TCP/IP 的网络层中进行路由选择,常用于构建大型企业网络或者服务上的骨干网络。在互联网核心路由器之间也可以使用。 OSPF 概述 OSPF 使用的是 Dijkstra(最短…

制作蓝牙小车(一)

制作控制蓝牙小车app 想制作一个蓝牙小车,通过手机app程序操控小车运行,制作分2个部分(app制作,蓝牙小车硬件以及程序制作),先完成第一个部分app制作,本次app是通过androidstudio软件来制作安卓…

centos安装了curl却报 -bash: curl: command not found

前因 我服务器上想用curl下载docker-compress,发现没有curl命令,就去下载安装,安装完成之后,报-bash: curl: command not found 解决方法 [rootcentos ~]# rpm -e --nodeps curl warning: file /usr/bin/curl: remove failed: …

python每日学10:关于python实用版本的选择

用python也有好几年了,也会经常安装python,因为有工作需要,可能在各个地方使用python,自己的电脑也经常重装,重装后会装python,还有的时候,装的包太多了,影响整个环境的使用&#xf…

数字IC验证快速入门全攻略,你想知道的都在这!

芯片行业是个高风险、高投入的行业,做一款芯片仅仅是开模的费用就是百万起。 从设计到制造都是环环相扣的,设计过程中的BUG或者错误能够达到上千个。 所以验证是保证芯片功能正确性和完整性最重要的一环。(文末有学习视频哦~) …

21、状态模式(State Pattern)

状态模式指给对象定义不同的状态,并为不同的状态定义不同的行为,在对象的状态发生变换时自动切换状态的行为。 状态模式是一种对象行为型模式,它将对象的不同行为封装到不同的状态中,遵循了“单一职责”原则。同时,状…

【动手学深度学习】(十三)深度学习硬件

文章目录 一、CPU和GPU二、更多的芯片1.DSP:数字信号处理2.可编程阵列(FPGA)3.AI ASIC 三、单机多卡并行 一、CPU和GPU 提升CPU利用率 在计算ab之前,需要准备数据 主内存->L3->L2->L1->寄存器(数据只有进入寄存器才可以参与运算) 提升空间和时间的内存…

【react.js + hooks】useVirtualArea 渲染虚拟列表

useVirtualArea Hook useVirtualArea 是一个 React Hook,用于创建虚拟列表。虚拟列表是一种优化技术,用于在不影响性能的情况下显示大量数据。 参数 useVirtualArea 接受一个对象和一个数组作为参数,该对象包含以下属性: load…

电子元器件介绍——电阻(一)

电子元器件 文章目录 电子元器件前言1.1电阻基本知识1.2电阻的作用1.3电阻的分类1.4 贴片电阻贴片电阻的规范、尺寸、封装 1.5 技术参数噪声: 1.6 电阻的失效 总结 前言 接下来我们就把常用的电子元器件全部介绍给大家,这一节是电阻,电容电感…

基础算法(2):排序(2):计数排序

1.计数排序实现 计数排序是一个非基于比较的稳定的线性时间的排序算法,而选择排序是基于比较的,计数排序不用,它的实现依靠计数。 工作原理:使用一个额外的数组,其中第i个位置是待排序数组1中值等于i的元素的个数&…

蓝桥杯物联网竞赛_STM32L071_9_按键矩阵扩展模块

原理图: 矩阵按键原理图: 实验板接口原理图: 得到对应图: 扫描按键原理: 按键的COLUMN1、2、3分别制0,每次只允许其中一个为0其他都是1(POW1和POW2正常状况为上拉),当有…

软件设计中如何画各类图之七了解组件图:系统架构的关键视角

目录 1 前言2 组件图基本介绍3 画组件图的步骤4 组件图的用途5 场景及实际场景举例6 结语 1 前言 组件图是一种UML的图形化表示工具,为系统架构提供了重要视角。它描述了系统中各个组件以及它们之间的依赖关系和连接。用于展示系统中的组件、软件模块、以及它们之间…

平头哥玄铁系列 RISC-V 芯片及开发板

1、玄铁 9 系列概述 玄铁 8 系列 基于C-SKY架构,玄铁 9 系列基于 RISC-V 架构。E 系列为 RISC-V 32 位,C 系列为 RISC-V 64 位。 E902:超低功耗 RSIC-V 架构处理器 E902 采用 2 级极简流水线兼容 RISC-V 架构且对执行效率等方面进行了增强&a…

对于初学者来说,从哪些方面开始学习 Java 编程比较好?

对于初学者来说,从哪些方面开始学习 Java 编程比较好? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「Java的资料从专业入门到高级教程工具包」,点个关注,全…