VSCode 通过配置 vue.json 代码片段可实现输入 vue + Tab 插入完整 .vue 结构。需在 Configure User Snippets 中选择 vue,粘贴指定 JSON 内容并保存,确保语法正确、路径无误,且在 .vue 文件中使用 Tab 键而非 Enter 键触发。

VSCode 本身不带 Vue 模板生成器,但通过配置用户代码片段(snippets),能实现「输入 vue + Tab」就插入完整 .vue 文件结构的效果——这是最轻量、最可控、也最不容易出问题的方式。
如何正确配置 vue.json 代码片段
别去搜“Vue 自动生成插件”,先手动配好 vue.json。VSCode 的代码片段机制稳定、无依赖、不冲突,比第三方插件更可靠。
- 按
Ctrl + Shift + P(Win)或Cmd + Shift + P(Mac),输入Configure User Snippets - 搜索并选择
vue,打开vue.json—— 注意不是html.json或其他文件 - 粘贴以下内容(已验证兼容 Vue 2/3,无语法报错):
{
"Vue 页面模板": {
"prefix": "vue",
"body": [
"<template>",
" <div class='"$1"'>$2</div>",
"</template>",
"",
"<script>",
"export default {",
" name: '$3',",
" props: [],",
" data() {",
" return {",
" $4",
" }",
" },",
" methods: {",
" $5",
" }",
"}",
"</script>",
"",
"<style scoped>",
"$6",
"</style>"
],
"description": "快速生成 .vue 文件基础结构"
}
}
保存后,在新建的 .vue 文件中输入 vue,再按 Tab(不是 Enter),光标会依次停在 $1~$6 占位处,方便你快速补全。
为什么不能用 html.json 配 vue 模板
有人把 Vue 模板塞进 html.json,然后在 .html 文件里输 vh 生成 Vue 实例——这属于误用场景,会带来三个实际问题:
-
html.json只在.html文件中生效,对.vue文件完全无效 - 生成的是纯 HTML + 内联 script 的旧式写法,和现代 Vue 项目(Vite / Vue CLI)的模块化结构不兼容
- 无法支持
<script setup></script>语法,也不能自动识别lang="ts"或scoped等属性
真正开发 Vue 组件时,你几乎不会在 .html 文件里写 Vue 逻辑。所以请只动 vue.json。
常见错误:输入 vue 后没反应或报红波浪线
这不是 VSCode 坏了,而是 snippet 格式或路径不对:
- 检查是否真的编辑的是
vue.json(路径通常是~/.vscode/snippets/vue.json或 VSCode 设置里显示的用户片段位置) - 确认 JSON 语法合法:所有逗号不能多也不能少,字符串必须双引号,
body数组每行都得是字符串 - 不要把多个 snippet 套在一个对象里,比如把
httpget和vue全塞进同一个"Print to console"下——每个 snippet 必须是顶层键值对 - 如果用了转义字符(如
\$http),确保只在需要的地方加反斜杠;vue.json中一般不需要转义$
进阶:给不同场景配多个 prefix
一个 vue.json 文件可以同时定义多个 snippet,比如:
-
vue2:生成含data() { return {} }和methods: {}的 Vue 2 风格 -
vue3:生成<script setup></script>+defineProps+defineEmits结构 -
httpget:如知识库所示,生成带this.$http.adornUrl的请求模板(注意:仅适用于封装了$http的项目)
每个 prefix 独立生效,互不干扰。但别贪多——先跑通一个 vue,再逐步加其他,否则容易因格式错误导致全部失效。
真正卡住人的,往往不是功能有没有,而是 vue.json 放错位置、JSON 多了个逗号、或者按了 Enter 而不是 Tab。这些细节不解决,装十个插件也没用。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











