Skip to content

jevonsflash/snippet-craft

Repository files navigation

Snippet Craft

一个VS Code代码片段管理插件

功能

创建和插入代码片段

在编辑器区域右键菜单中点击插入Snippet,或在代码片段视图中点击条目,则会将代码片段插入到当前激活文档的光标位置。

alt text

代码片段编辑

代码片段在左侧栏中,根据创建时的文件内容类型,分组显示代码片段,可编辑已有的代码片段。

alt text

代码片段预览

鼠标移动到代码片段条目上时,显示tooltip预览

alt text

默认映射

映射是插入代码片段时,自动替换的变量。

代码片段中通过设置占位符${VAR_NAME},在插入代码片段时,将自动替换为全局变量中的值。可用的映射如下表:

类别 变量 描述
文件和编辑器相关 TM_SELECTED_TEXT 当前选定的文本或空字符串
TM_CURRENT_LINE 当前行的内容
TM_CURRENT_WORD 光标下的单词或空字符串的内容
TM_LINE_INDEX 基于零索引的行号
TM_LINE_NUMBER 基于一个索引的行号
TM_FILENAME 当前文档的文件名
TM_FILENAME_BASE 当前文档的文件名(不含扩展名)
TM_DIRECTORY 当前文档的目录
TM_FILEPATH 当前文档的完整文件路径
RELATIVE_FILEPATH 当前文档的相对文件路径(相对于打开的工作区或文件夹)
CLIPBOARD 剪贴板的内容
WORKSPACE_NAME 打开的工作区或文件夹的名称
WORKSPACE_FOLDER 打开的工作区或文件夹的路径
CURSOR_INDEX 基于零索引的游标编号
CURSOR_NUMBER 基于单索引的游标编号
时间相关 CURRENT_YEAR 本年度
CURRENT_YEAR_SHORT 当年的最后两位数字
CURRENT_MONTH 两位数字的月份(例如“02”)
CURRENT_MONTH_NAME 月份的全名(例如“July”)
CURRENT_MONTH_NAME_SHORT 月份的简短名称(例如“Jul”)
CURRENT_DATE 以两位数字表示的月份中的某一天(例如“08”)
CURRENT_DAY_NAME 日期的名称(例如“星期一”)
CURRENT_DAY_NAME_SHORT 当天的简短名称(例如“Mon”)
CURRENT_HOUR24 小时制格式的当前小时
CURRENT_MINUTE 两位数的当前分钟数
CURRENT_SECOND 当前秒数为两位数
CURRENT_SECONDS_UNIX 自 Unix 纪元以来的秒数
CURRENT_TIMEZONE_OFFSET 当前 UTC 时区偏移量为 +HH
或者 -HH
(例如“-07:00”)
其他 RANDOM6 6 个随机 Base-10 数字
RANDOM_HEX6 6 个随机 Base-16 数字
UUID 第四版UUID

注意:当自定义映射值未设置或者不可用时,将直接显示变量占位符

自定义映射

扩展初始化时,插入了三个常用的自定义映射,你可以自由更改或添加自定义映射。

alt text

示例:

代码片段内容

value of 'AUTHOR' is: ${AUTHOR}
value of 'COMPANY' is: ${COMPANY}
value of 'MAIL' is: ${MAIL}
value of 'FOOBAR' (non-exist) is: ${FOOBAR}

插入代码片段后,显示如下:

value of 'AUTHOR' is: 林晓lx
value of 'COMPANY' is: my-company
value of 'MAIL' is: jevonsflash@qq.com
value of 'FOOBAR' (non-exist) is: ${FOOBAR}

与自定义映射一样,当默认映射值未设置或者不可用时,将直接显示变量占位符

自动完成

代码片段可在编辑器中显示自动提示和补全内容。

alt text

快速开始

通过点击上方横幅上的安装按钮安装 Snippet Craft,或在 VS Code 的扩展侧边栏中搜索 Snippet Craft 进行安装。

更新内容

Date Version Content
V0.1.0 2024-8-22 初始版本

Todo

  • 支持更多语言
  • 使用monaco-editor
  • 导入导出功能

作者信息

作者:林小

邮箱:jevonsflash@qq.com

License

The MIT License (MIT)