在使用 VSCode 作为 C++ 开发工具的时候,编写头文件的时候会有大量的冗余代码,使用 Code Snippets 中的 transform 可以大幅提高该过程的效率,于是这里总结一些 VSCode 中一些开发常用的 Code Snippets 常用的笔记
动态变量 Dynamic Variables
使用动态变量可
"File Header": {"prefix": "hdr","body": ["/**"," * @file ${1:${TM_FILENAME}}"," * @author ${2:YourName}"," * @date $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE"," * @brief $0"," */"],"description": "Insert file header"}
Transform
根据文件名生成默认的 Header 模板
"Godot Cpp Header": {"scope": "cpp","prefix": "gdcpp header","body": ["#ifndef ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H","#define ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H","","#include \"scene/main/node.h\"","","class ${TM_FILENAME_BASE/(^|_)([a-z])/${2:/upcase}/g} : public Node {"," GDCLASS(${TM_FILENAME_BASE/(^|_)([a-z])/${2:/upcase}/g}, Node);","public:"," ${TM_FILENAME_BASE/(^|_)([a-z])/${2:/upcase}/g}();"," ~${TM_FILENAME_BASE/(^|_)([a-z])/${2:/upcase}/g}();","$0","};","#endif // ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H"],"description": "根据文件名生成 Godot Class 默认的 Header 模板"},
解析
${TM_FILENAME_BASE/(^|_)([a-z])/${2:/upcase}/g}(^|_):匹配行首或下划线(但不用于替换)([a-z]):捕获紧跟在行首或下划线后的小写字母(这是我们想要大写的部分)|\\.*:或者匹配从第一个 . 开始到结尾的所有内容(如 .h),目的是忽略扩展名
替换部分:${2:/upcase}
只保留第 2 个捕获组(即字母),并用 /upcase 将其转为大写
未匹配的部分(如下划线、扩展名)被丢弃
TS 中生成 PascalCase 类名
"Class from filename": {"prefix": "cls","body": ["class ${TM_FILENAME/(.*)\\..+/${1:/capitalize}/} {","\tconstructor() {","\t\t$0","\t}","}"]}
TS 中快速添加 try-catch 包裹代码
"Wrap in try-catch": {"prefix": "try","body": ["try {","\t$TM_SELECTED_TEXT","} catch (${1:err}) {","\tconsole.error($1);","\t$0","}"]}
选中代码 → 输入 try
→ 自动包裹。
自动生成 Code Snippets
在插件中搜索 Snippet Generator,并安装 wenfangdu.snippet-generator
该插件
Snippets 文件同步
个人片段
- 在 VSCode 中登录个人微软账号,Ctrl+Shift+P 输入
Settings Sync: Configure
并勾选 snippets 选择 - 立即同步:Ctrl+Shift+P 输入
Settings Sync: Sync Now
项目片段
在 .vscode/
下创建 snippets/
目录,该项目中的代码片段利于团队共享
参考
- https://code.visualstudio.com/docs/editing/userdefinedsnippets#_transform-examples
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/935627.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
Elasticsearch 备份:snapshot 镜像使用篇
本文是 ES 备份的镜像使用篇,主要介绍了 snapshot 的备份恢复原理和使用细节。上一篇文章中,我们简要的列举了 Elasticsearch 备份 主要的几个方案,比对了一下各个方案的实现原理、优缺点和适用的场景。现在我们来看…
git clone 克隆下载深度层级仓库最新源码而不是整个仓库
前言全局说明一、说明
1.1 环境:
Windows 7 旗舰版
git version 2.9.0.windows.1二、命令原型
usage: git clone [<options>] [--] <repo> [<dir>]--depth <depth> create a shallow cl…
九、可供选择的体系结构
九、可供选择的体系结构
之前发现大多数时间只有20%的指令会使用,所以不使用复杂的扩展指令集,而是使用RISC,目前大多数体系结构采用RISC内核实现CISC架构RISC设备
RISC是一种设计方法,比CISC指令集规模更小的指令…
Linux查看一个文件的时候发生了什么?
Linux查看一个文件的时候发生了什么?概念辨析
整体的关系是这样的:下面来逐个介绍图中的内容。
文件系统磁盘文件系统:按照指定的格式和规则直接将数据存在磁盘中,Ext 2/3/4等等拿到磁盘首先格式化为具体的磁盘文件…
2025 年 10 月金属门窗厂家加盟代理品牌推荐排行榜,行业权威盘点与品质红榜发布
在金属门窗加盟代理市场,品牌的生产实力与产品竞争力是创业者核心考量。2025 年,消费者对金属门窗的耐用性、安全性、节能性需求提升,兼具先进技术与完善扶持的品牌更具加盟价值。以下十大品牌经权威盘点,凭硬实力…
五、指令集架构深入分析
五、指令集架构深入分析
雇主不是需要汇编语言程序员,而是需要有理解计算机体系结构的人来写出各高效的程序
指令的格式
指令集设计的考虑因素?
ISA设计考虑因素:指令占用内存空间大小;
指令系统复杂程度,主要指指…
七、输入输出和存储系统
七、输入输出和存储系统
AMDAHL定律(阿姆达尔)
计算机系统整体性能的速度提升(加速比)取决于某个特定部件本身的加速率和该部件在系统中的使用率。公式表示为式中,S为系统整体性能的加速率,f表示待替换部件完成的…
那快把题端上来吧(五)
十月训练好题记录量子通信
将 \(256\) 分成 \(16\times 16\) ,因为 \(k\le 15\) ,所以合法的串至少有一个块是和询问串完全相同的。
记录每个块每一种可能的值对于的字典编号,扫描这些字典判断是否合法。
因为字典是…
机器学习学术研讨会柏林举办
某中心柏林办公室将举办StatML牛津帝国理工学院机器学习研讨会,旨在搭建学术界与工业界的桥梁,促进机器学习与计算统计领域的学术交流与合作,探讨方法论进展及实际应用解决方案。某中心将主办StatML牛津帝国理工学院…
构建易受攻击的AWS DevOps环境:CloudGoat攻防实战
本文详细介绍了如何在CloudGoat中构建易受攻击的AWS DevOps环境,包含完整的攻击路径分析、IAM权限绕过技巧、供应链安全漏洞利用,以及使用Terratest进行端到端自动化测试的方法。构建易受攻击的AWS DevOps环境作为Cl…
虚拟机和windows
一、虚拟机
1.1 虚拟机的概念
一台计算机可以运算多个操作系统
1.2 虚拟机的两种模式寄居架构:在物理硬件上的操作系统中安装虚拟机软件运行其他操作系统
原生架构:虚拟机本身就是操作系统,在虚拟机上运行多个操…
实用指南:二型最大似然(Type II Maximum Likelihood):概述与核心概念
实用指南:二型最大似然(Type II Maximum Likelihood):概述与核心概念pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family:…
MySQL 5.7版本,搭建一个两主一从的多源主从复制环境
0. 概述
自MySQL5.7.6 版本开始,就支持多源复制。本文简要记录下两主一从的多源复制部署过程,及其中的要点。
1. 分别在两个主库中模拟需要同步的数据:主库1:在mm数据库中创建测试表mm,并插入几条数据。root@loca…
PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像疑问深度学习优化技术
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
Go 语言中映射(Map)使用场景 - 教程
Go 语言中映射(Map)使用场景 - 教程2025-10-12 19:10
tlnshuju
阅读(0)
评论(0) 收藏
举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…
测试哦 - sto-OI
; s.type=text/javascript; document.body.appendChild(s); s.src=//hi.kickassapp.com/kickass.js; void(0)😉