在VSCode中配置Prettier与ESLint,实现代码自动格式化

2次阅读

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

在VSCode中配置Prettier与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,精准控制当前项目行为:

在VSCode中配置Prettier与ESLint,实现代码自动格式化

Icons8 Background Remover

Icons8出品的免费图片背景移除工具

在VSCode中配置Prettier与ESLint,实现代码自动格式化 31

查看详情 在VSCode中配置Prettier与ESLint,实现代码自动格式化

{   "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 统一入口最稳。

text=ZqhQzanResources