0

0

VSCode中的代码片段变量与转换

P粉986688829

P粉986688829

发布时间:2025-12-19 20:47:02

|

225人浏览过

|

来源于php中文网

原创

VSCode代码片段支持变量和正则转换实现动态内容生成。内置变量如$TM_FILENAME_BASE、$RELATIVE_FILEPATH等可直接引用;占位符${1:default}支持默认值与命名;转换语法${var/(p)/(r)/o}可实现大小写变换、路径提取等,支持嵌套组合。

vscode中的代码片段变量与转换

VSCode 的代码片段(Snippets)支持变量(Variables)和转换(Transformations),让你能动态生成内容,比如把文件名转为类名、提取路径中的某段、或根据输入自动补全大小写形式。关键在于理解 $1${1:default}${1:name} 这些占位符的嵌套用法,以及 ${1/(pattern)/(replacement)/options} 这种正则替换语法。

常用内置变量

VSCode 提供了一批开箱即用的变量,直接在 snippet body 中用 $VAR${VAR} 引用:

  • $TM_FILENAME:当前文件名(含扩展名),如 user.service.ts
  • $TM_FILENAME_BASE:不含扩展名的文件名,如 user.service
  • $TM_DIRECTORY:当前文件所在绝对路径
  • $RELATIVE_FILEPATH:相对于工作区根目录的相对路径,如 src/app/user/user.component.ts
  • $CLIPBOARD:系统剪贴板内容(实时读取,粘贴后可立即用)
  • $CURRENT_YEAR$CURRENT_MONTH$CURRENT_DATE:自动生成日期信息

带默认值与命名的占位符

用户可编辑的占位符支持默认值和名称,方便复用和识别:

  • ${1:myDefault}:第一个 tabstop,初始显示 myDefault,光标停在此处可修改
  • ${2:name}:第二个 tabstop,显示提示文字 name(仅提示,不作为默认值)
  • ${1:service} ${1/(.+)/\u$1/g}:对第一个占位符内容做转换——首字母大写(\u 表示下一个字符大写)

变量转换(Transformations)

转换语法为 ${variable/(regex)/(replace)/options},其中 variable 可以是内置变量、占位符,甚至另一个转换结果。常用操作:

Faceswap
Faceswap

免费开源的AI换脸工具

下载
  • 小驼峰转大驼峰:${TM_FILENAME_BASE/(^|\.)(\w)/\u$2/g}user.serviceUserService
  • 去点号并 PascalCase:${TM_FILENAME_BASE/(\.)(\w)/\u$2/g}api.clientApiClient
  • 提取最后一级目录名:${RELATIVE_FILEPATH/.*\/(.+)\//\$1/}src/pages/home/home.page.tshome
  • 全小写并用下划线连接:${1/\s+/_/g} → 输入 user profile → 输出 user_profile

嵌套与组合技巧

转换可以多层嵌套,也可以结合多个变量。例如创建 Angular 组件 snippet:

// 假设文件名为 `user-list.component.ts`
  • 类名:${TM_FILENAME_BASE/(?:\.component)?\.(?:ts|html|scss)$//} → user-list,再套一层:${1/(^|-)(\w)/\u$2/g}UserList
  • selector:app-${TM_FILENAME_BASE/(?:\.component)?\.(?:ts|html|scss)$//}app-user-list
  • 模板中自动插入选中文字:${CLIPBOARD/([A-Z])/ $1/g}MyComponent 变成 My Component

基本上就这些。写 snippet 时建议先试单个变量,再加转换,最后组合;VSCode 的 snippet 预览(Ctrl+Space 触发)会实时显示效果,调试起来很直观。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

223

2023.12.07

vscode
vscode

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

592

2023.06.30

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

223

2023.07.21

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

392

2024.03.14

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

379

2024.03.14

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

553

2024.03.15

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

555

2024.03.15

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

499

2024.03.15

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

142

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3万人学习

CSS教程
CSS教程

共754课时 | 24.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号