vscode中配置Prettier与ESLint协同工作,需安装对应扩展及项目依赖(eslint、prettier、eslint-config-prettier、eslint-plugin-prettier),在.eslintrc.js中extend ‘plugin:prettier/recommended’,并通过.vscode/settings.json启用保存时ESLint自动修复和格式化,确保二者不冲突、分工明确。

在 VSCode 中配置 Prettier 与 ESLint 实现自动格式化,关键不是装插件,而是让两者协同工作、不打架——Prettier 负责统一代码样式(缩进、引号、换行等),ESLint 负责代码质量与规范检查(如未定义变量、禁止 var 等),二者分工明确才能真正提效。
安装必要扩展和依赖
先确保本地项目和编辑器都装对了东西:
- VSCode 扩展:安装 Prettier(官方,作者:esbenp)和 ESLint(官方,作者:dbaeumer)
- 项目依赖(推荐本地安装,避免团队环境差异):
npm install --save-dev eslint prettier eslint-config-prettier eslint-plugin-prettier
其中eslint-config-prettier关闭 ESLint 中与 Prettier 冲突的规则,eslint-plugin-prettier把 Prettier 当作 ESLint 的一条规则来运行(推荐方式)
配置 ESLint 使用 Prettier
在项目根目录创建或修改 .eslintrc.js(或其他格式),确保包含以下核心配置:
module.exports = { extends: [ 'eslint:recommended', 'plugin:prettier/recommended' // 这行会自动启用 eslint-plugin-prettier 并关闭冲突规则 ], plugins: ['prettier'], rules: { 'prettier/prettier': 'error' // 把 Prettier 错误作为 ESLint 错误提示 } };
⚠️ 注意:plugin:prettier/recommended 已内置 eslint-config-prettier,无需再单独 extend 它。
设置 VSCode 自动保存时格式化
打开 VSCode 设置(Ctrl+, 或 Cmd+,),搜索并勾选:
- format On Save:保存时自动格式化
- default Formatter:设为
esbenp.prettier-vscode(但注意:若同时启用了 ESLint 的“自动修复”功能,优先用 ESLint 驱动格式化更稳妥)
更推荐的方式是:在项目根目录添加 .vscode/settings.json,精准控制当前项目行为:
{ "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "eslint.validate": ["javascript", "typescript", "vue"] }
这样保存时先由 ESLint 自动修复(含 Prettier 格式化),再触发格式化动作,逻辑更可靠。
可选:添加 .prettierrc 配置文件
如果需要自定义 Prettier 行为(比如单引号、分号、箭头函数括号),在根目录加 .prettierrc:
{ "singleQuote": true, "semi": false, "arrowParens": "avoid", "tabWidth": 2 }
该文件会被 Prettier 和 eslint-plugin-prettier 共同读取,保持一致。
基本上就这些。配置完成重启 VSCode,打开 JS/TS 文件,保存即生效。不复杂但容易忽略的是:别让 Prettier 和 ESLint 规则互相覆盖,靠 eslint-plugin-prettier 统一入口最稳。