至少自己调通过一次 vscode snippet


以前只使用 vscode 插件配置过 snippets, 遇到需要简单的自动化的情况,自己调通一次,能很方便的把欠缺的环节填满,比如 新建 md 文件的 frontmatter 内容

一个需要简易自动化的场景

使用 astro 创建一个 markdown 格式的 content, 但是发现 frontmatter 内容需要自己手动填写。对应到常见的内容管理系统,可以自动填写(创建时间,更改时间),选择填写(日期,标签,分类)

甚至还可以添加自定义功能,比如,自动总结出 summary。

从网上搜索,以及咨询大语言模型,没有给出稳定完善方便的方案。

但,一直没有自己调试过代码模板这类的内容,比如 vscode snippet。不禁想到我这个需求是不是自带的功能就可以了。

vscode snippet 功能

查询文档教程,开始创建 global 的 snippet:

  • 命名为 blog-md.code-snippet
  • 主要添加 frontmatter 中 pubDate 字段,默认当前创建的时间
  • 触发的单词为 ‘blog’,
  • (可选) 设置 scope 为 markdown(如果是 mdx,要调整)

然而,遇到个问题 —— 不生效,无法主动触发

猜测是安装了类 Copilot 的插件,本身与 snippet 功能有冲突,导致不能使用。

解决办法:

  1. 临时停用插件 - 未果
  2. 主动触发 snippet (vscode 中的命令名称是 trigger suggest),其默认有 3 个快捷键(Ctrl+SpaceOption + EscCommand + I),其中,Ctrl+Space 与系统切换输入法的冲突, 我习惯使用 Command + I

使用第 2 种方法解决

后续:

第二天醒来, vscode 竟然能自动触发 trigger suggest 了。

想来是这个配置生效了。

配置方式:Command + Shift + P 输入 Preferences: Open User Settings,打开图形界面,搜索 quick suggest, 将 editor.quickSuggest 设置中的 other, string 设置为 on 或 inline