VSCode原生不支持新建.vue文件时自动插入模板,需依赖代码片段或插件实现;正确配置vue语言模式、prefix匹配及vue.json作用域后,可在已有.vue文件中通过前缀+Tab补全;新建带模板文件须借助File Templates插件或plop等脚手架工具。

VSCode 本身不支持“新建文件时自动插入 Vue 模板”,必须靠代码片段(snippets)或插件补足这一能力。 直接右键新建 .vue 文件,得到的是空文件——这是默认行为,不是你配置错了。
为什么输入 vue 不触发模板?检查这三点
常见现象:在 .vue 文件里敲 vue,没反应;或者按 Tab 没补全,只插入了文字。
- 文件语言模式必须是
vue:看 VSCode 右下角状态栏,显示的是vue而不是html或plaintext。如果不是,点击它 → 选择Configure File Association for '.vue' → vue -
prefix必须匹配:你在 snippets 里定义的是"prefix": "v2",就得输v2再按 Tab;定义的是"prefix": "vue",才输vue - 代码片段作用域要对:全局片段(global)对所有语言生效,但更推荐为
vue语言单独配。编辑vue.json(不是vue-html.json),否则不识别<script setup></script>等语法
vue.json 中该写什么内容?直接抄这个 Vue 3 + setup 版本
打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),选 Preferences: Configure User Snippets → 选 vue → 粘贴以下内容:
{
"Vue 3 SFC (setup)": {
"prefix": "v3",
"body": [
"<template>",
" <div class=\"$1\">",
" $0",
" </div>",
"</template>",
"",
"<script setup lang=\"ts\">",
"import { ref } from 'vue'",
"",
"const $2 = ref($3)",
"</script>",
"",
"<style scoped lang=\"scss\">",
".$1 {",
" $4",
"}",
"</style>"
],
"description": "Vue 3 单文件组件,含 setup、ref、scoped scss"
}
}
保存后,在任意 .vue 文件中输入 v3 + Tab,光标会停在第一个 (类名位置),连续按 Tab 可跳转到组件名、ref 变量、初始值、样式体等占位点。
将静态 Vue 页面(index.vue)改造为动态页面(Custom.vue);稿源仅限 index.vue、其引用的 CSS 与资源路径,禁止参考仓库内其他文件。Invoke when user wants to transform a static Vue page into a dynamic data-driven page with Element UI components.
立即学习“前端免费学习笔记(深入)”;
想新建文件就带模板?得用插件或模板文件
纯代码片段只能在已有 .vue 文件中补全,无法解决“新建空白文件→立刻有结构”的需求。这时有两个可靠路径:
- 装插件
File Templates:创建一个.vscode/templates/vue-component.template文件,内容就是带占位符的完整 SFC 结构,右键 →New File from Template即可生成 - 用脚手架命令行:项目根目录运行
npx plop component --name=UserProfile(需提前配好plopfile.js),自动生成带目录、命名规范、测试文件的全套组件
别指望 VSCode 原生支持“新建 .vue 就弹出模板”——这个功能边界很清晰,越界就得靠扩展或自动化工具兜底。

















