至少自己调通过一次 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 功能有冲突,导致不能使用。
解决办法:
- 临时停用插件 - 未果
- 主动触发 snippet (vscode 中的命令名称是
trigger suggest),其默认有 3 个快捷键(Ctrl+Space、Option + Esc、Command + I),其中,Ctrl+Space与系统切换输入法的冲突, 我习惯使用Command + I。
使用第 2 种方法解决
后续:
第二天醒来, vscode 竟然能自动触发 trigger suggest 了。
想来是这个配置生效了。
配置方式:Command + Shift + P 输入 Preferences: Open User Settings,打开图形界面,搜索 quick suggest, 将 editor.quickSuggest 设置中的 other, string 设置为 on 或 inline