ESLint报错不标红需检查三处:确认本地已安装eslint包且存在.eslintrc.js/.cjs配置文件;VSCode中关闭全语言校验,仅保留["javascript","typescript","vue"];启用eslint.autoFixOnSave但复杂逻辑错误仍需手动修复。

装对插件比调配置更重要——前端在 VSCode 里卡住的 90% 问题,其实不是不会写代码,而是编辑器没给对反馈、没补全路径、没标出错误、没自动格式化、没实时预览。
ESLint 报错不标红?检查这三处配置
常见错误现象:Definition for rule 'vue/multi-word-component-names' was not found 或保存后无任何提示,console.log 该报错却不报。
- 确认已安装
eslintnpm 包(不只是 VSCode 插件),且项目中有.eslintrc.js或.eslintrc.cjs - VSCode 设置中关闭
eslint.validate全语言扫描,只保留["javascript", "typescript", "vue"],避免校验非 JS 文件引发冲突 - 必须启用
eslint.autoFixOnSave,但别依赖它修所有问题;复杂逻辑错误(如类型不匹配)仍需手动改,插件只修格式类和基础规则
Prettier 保存后代码反而更乱?大概率是 formatter 冲突
使用场景:团队统一用单引号、不加分号、对象换行,但保存后缩进变 4 格、分号又回来了。
-
editor.defaultFormatter必须设为esbenp.prettier-vscode,且在语言专属设置里再锁一次,例如"[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" } - 删掉
eslint-config-prettier以外的 ESLint 格式规则(比如semi、quotes),否则 ESLint 和 Prettier 会反复覆盖彼此输出 - 别碰
prettier.semi这类配置项除非全队达成一致;默认开分号更稳,尤其和 Terser 压缩兼容性更好
Vue3 defineProps 不提示类型?Volar 没配全
错误现象:<script setup></script> 里写 defineProps(),但鼠标悬停没类型提示,跳转不到定义。
前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。
立即学习“前端免费学习笔记(深入)”;
- 必须同时启用两个扩展:
Vue Language Features (Volar)和Volar: Server;只装一个,TS 类型支持直接残缺 - 立刻禁用
Vetur——两者共存会导致template中v-model提示失效,甚至编辑器假死 - 如果
defineEmits不提示事件名,打开volar.trace.server设为"Verbose",查输出面板日志定位是否加载了vue-tsc
Live Server 修改 HTML 后不刷新?忽略规则写错了
性能影响:误配 ignoreFiles 可能导致热重载完全失效,或每次保存都触发全量重建。
-
"liveServer.settings.ignoreFiles"是 glob 模式,不是正则;"**/*.ts"会忽略所有 .ts 文件,但不会影响其编译产物(如 .js)触发重载 - 别把
.html加进 ignore 列表,哪怕只是想“暂时跳过”——Live Server 一旦忽略入口文件,整个服务就失去监听锚点 - 端口冲突时不要硬改
liveServer.settings.port,先用lsof -i :5500(macOS/Linux)或netstat -ano | findstr :5500(Windows)查占用进程
最常被忽略的其实是插件之间的依赖关系:Volar 依赖 TypeScript 语言服务,Prettier 依赖 ESLint 的关闭动作,Live Server 的重载逻辑又受 webpack/vite 配置干扰。装完插件不等于问题消失,得看它们之间有没有“说上话”。

















