真正能撑起前端开发闭环的 VSCode 插件是 ESLint、Prettier、Volar(Vue 3+)、GitLens、Live Server 这5个,缺一不可:ESLint 负责代码质量检测,Prettier 实现自动格式化,二者需协同配置避免冲突;Volar 专为 Vue 3 设计,支持 和 TypeScript;GitLens 提供精准 Git 上下文追溯;Live Server 仅适用于静态文件或构建后预览,开发中应配合官方 dev server 使用。

真正能撑起前端开发闭环的 VSCode 插件,不是装得越多越好,而是这 5 个必须到位: ESLint、Prettier、Vetur(Vue)或 Volar(Vue 3+)、GitLens、Live Server。少一个,就可能卡在 lint 报错不修复、格式化冲突、组件跳转失效、提交信息写不清、本地预览要手动刷新这些地方。
为什么 ESLint + Prettier 组合不能只装一个
单独装 ESLint 会报一堆规则错误但不会自动修;只装 Prettier 则对 if 缺少大括号、console.log 残留、变量未使用这类逻辑问题完全无感。两者必须共存,且需配置冲突解决策略:
- 在
settings.json中设"editor.formatOnSave": true,但仅对Prettier生效 - 用
"eslint.enable": true开启校验,同时加"eslint.run": "onType"实时反馈 - 关键一步:在项目根目录放
.eslintrc.cjs,并确保其中包含extends: ['plugin:vue/vue3-essential', 'eslint:recommended'](Vue 项目) - 若保存后格式仍乱,检查是否误启用了
editor.defaultFormatter为esbenp.prettier-vscode—— 这会导致 ESLint 的 auto-fix 被绕过
Vetur 和 Volar 到底该选谁
Vue 2 项目必须用 Vetur;Vue 3(尤其含 <script setup></script>)必须用 Volar。二者不可共存,强行启用会直接导致 Ctrl+点击组件名 跳转失败、ref() 类型推导丢失、defineProps 提示空白。
- VSCode 会自动禁用冲突插件,但有时残留旧配置:检查
settings.json是否还存在"vetur.validation.template": true这类已废弃字段 -
Volar需手动启用“Take Over Mode”:右键任意.vue文件 → “Volar: Take Over Mode”,否则语法高亮和补全仍走 Vetur 老路径 - 若使用 TypeScript,务必确认
Volar的 TS 支持已开启 —— 在设置中搜volar.typescript,勾选Enable
GitLens 不只是看 blame,它解决的是“谁改的、为什么改”
前端协作中,最常遇到的问题不是“怎么改”,而是“这段逻辑为什么这么写”。GitLens 把 commit 记录直接嵌进编辑器侧边栏,点一下就能看到上下文 diff 和作者留言:
立即学习“前端免费学习笔记(深入)”;
- 按
Alt+Shift+H(Windows/Linux)可快速唤出当前行的 history 面板 - 在
settings.json中加"gitlens.codeLens.enabled": false可关闭顶部冗余的“Blame”小字,避免干扰阅读 - 若团队用 Conventional Commits,配合
GitLens的 commit search 功能(Ctrl+Shift+P→ “GitLens: Search Commits”),输入feat(button)就能定位所有按钮相关功能迭代 - 注意:它依赖本地 Git 配置,若
git config user.name为空,hover 提示会显示 “Unknown Author”
Live Server 的真实适用边界
Live Server 适合静态 HTML/CSS/JS 原生开发、Vue CLI 或 Vite 的 dist 目录预览,但绝不该用于开发中的 src 目录 —— 它不识别 import、不处理 vue 单文件组件、也不触发 HMR。
- 启动后地址默认是
http://127.0.0.1:5500/,若端口被占,VSCode 会自动换到5501,但不会通知你;可右键状态栏Go Live按钮 → “Change Live Server Port” 手动指定 - 对 Vue 项目,应始终用
npm run dev启动官方 dev server,它才支持热更新、source map 调试、环境变量注入 - 若误用
Live Server打开index.html导致白屏,检查浏览器控制台是否报Failed to load module script—— 这就是没走构建流程的典型信号
最容易被忽略的其实是插件之间的隐式依赖:比如 Volar 的类型服务需要 TypeScript 插件正常工作,而 TypeScript 又依赖项目里有 tsconfig.json。没有配置文件,再好的插件也只显示灰色提示。别急着装新插件,先让这 5 个跑通基础链路——编辑、校验、格式化、提交、预览——剩下的才是效率加成。


















