vscode用户代码片段存于用户数据目录的snippets子目录,需同步导出对应json文件、settings.json中补全相关配置及必要语言扩展。

直接导出代码补全模板(即用户 snippets)就是复制对应 JSON 文件,没有“导出按钮”,也没有一键打包功能。
snippets 文件存在哪?
VSCode 的自定义代码片段全部以 .json 文件形式存放在用户数据目录的 snippets/ 子目录下:
- Windows:
%APPDATA%\Code\User\snippets\ - macOS:
~/Library/Application Support/Code/User/snippets/ - Linux:
~/.config/Code/User/snippets/
你手动创建的 javascript.json、vue.json、global-snippets.code-snippets(全局片段)等,都在这里。这些文件就是你的“补全模板”本体。
怎么确认哪些文件是你要导出的?
别凭印象猜文件名——常见误区是以为 typescript.json 会管 TS 文件,结果实际语言 ID 是 typescriptreact 或 vue(不是 vue-html)。正确做法:
- 打开任意一个目标语言的文件(如
App.tsx),看右下角状态栏显示的语言模式(例如是TypeScript React) - 去
snippets/目录里找同名或近似名的 JSON 文件(如typescriptreact.json) - 全局片段一定在
global-snippets.code-snippets(注意后缀不是.json) - 用 VSCode 打开该文件,确认内容含
"prefix"和"body"字段,即可判定为有效 snippet 文件
导出时容易漏掉的关键点
只复制 JSON 文件还不够,以下三项必须同步处理,否则迁移到新机器后补全会“消失”或“不触发”:
-
settings.json中可能禁用了补全:检查是否含"editor.suggest.showSnippets": false或"editor.snippetSuggestions": "none" - 语言模式识别失败:新环境若没装对应扩展(如 Vue 插件、Pylance),
vue.json或python.json就不会加载 - 全局片段文件名易错:
global-snippets.code-snippets不是global.json,且它用的是 VSCode 自定义格式(非标准 JSON),不能用普通 JSON 解析器验证
真正卡住迁移的,往往不是找不到文件,而是漏了语言扩展依赖或 settings 里的隐藏开关——补全模板本身只是静态文本,它的生效链条比看起来长得多。











