ESLint和Prettier需协同配置才有效:优先本地安装ESLint并用npx eslint --init生成.eslintrc,React/Vue/TS项目须装对应插件;用eslint-config-prettier禁用ESLint格式规则,并将editor.defaultFormatter设为Prettier、仅启用source.fixAll.eslint触发修复,避免双重格式化。

ESLint 和 Prettier 不装,代码格式和逻辑问题就得靠人眼盯,效率直接掉一半。
ESLint 怎么配才不报错又管用
光装插件没用,关键得让 .eslintrc 和项目对上号。常见错误是本地全局 ESLint 版本跟项目依赖不一致,导致规则不生效或报一堆 Definition for rule 'xxx' was not found。
- 优先用项目本地安装的 ESLint:运行
npx eslint --init生成配置,别用全局eslint --init - React 项目必须加
eslint-plugin-react和eslint-plugin-react-hooks,否则useState相关警告全消失 - 想保存时自动修复?在 VSCode 设置里开
editor.codeActionsOnSave,但只设"source.fixAll.eslint",别开"source.organizeImports"——它会跟 TypeScript 或 Prettier 冲突 - Vue 项目注意:要额外装
eslint-plugin-vue,且parserOptions.parser得指向@typescript-eslint/parser(如果用了 TS),不然<script setup></script>语法直接报错
Prettier 和 ESLint 一起用为什么反而更乱
两者默认规则打架,比如 Prettier 要单引号、ESLint 要双引号,一保存就来回切。核心解法不是“谁让步”,而是让 ESLint 放手不管格式,只管逻辑。
- 必须装
eslint-config-prettier,并在extends数组末尾引入,覆盖 ESLint 自带的格式规则 - VSCode 设置里把
editor.defaultFormatter设为esbenp.prettier-vscode,同时关掉editor.formatOnSave——改由 ESLint 的codeActionsOnSave触发格式化,避免双重格式化 -
.prettierrc里别写semi: true这种和团队习惯冲突的硬编码,用"semi": "auto"让 Prettier 根据已有代码推断 - TypeScript 项目记得在
eslint.config.js里加plugins: ['@typescript-eslint'],否则any类型警告压根不会出来
JavaScript Booster 灯泡点不动?检查这三处
这个插件的重构能力很实用,但灯泡不亮基本是环境没对齐,不是插件坏了。
- 确认文件语言模式是
JavaScript或TypeScript,不是Plain Text——右下角状态栏点一下切换 - 插件只响应“可安全重构”的上下文:比如
var x = 1能转const,但var x; x = 1就不触发,因为涉及作用域变更 - 函数内联、条件转三元这些操作,要求光标必须落在整块语句起始位置(比如
if关键字上),而不是某一行中间 - React JSX 中部分重构失效,是因插件未适配新 React 编译器(如
useHook),此时建议降级到 v0.24.x 或换用react-refactor
Path Intellisense 补全路径却找不到文件
补全失效多数不是插件问题,而是 VSCode 没搞清当前“根目录”在哪。
- 确保工作区是整个项目根目录,不是某个子文件夹——打开
File > Open Folder选最外层文件夹 - 如果项目用
baseUrl配了别名(如@/components),Path Intellisense 默认不认识,得在settings.json加"path-intellisense.mappings": { "@": "${workspaceFolder}/src" } - 补全图片路径时,若显示
./assets/logo.png但实际文件在public/logo.png,说明插件按src目录找,需手动删掉./改用/logo.png - TS 项目中 import 补全失效?关掉
typescript.preferences.includePackageJsonAutoImports,它会干扰路径解析
真正卡住人的从来不是插件装不装,而是配置项之间互相踩脚——比如 editor.codeActionsOnSave 开太多、eslint-config-prettier 没放 extends 最后、或者工作区路径根本没设对。这些地方一错,插件就变成背景噪音。


















