Prettier + ESLint:在VS Code中实现代码的自动格式化与校验

发布时间 - 2025-11-24 00:00:00    点击率:
Prettier 和 ESLint 结合可在 VS Code 中实现代码规范与美观。1. 安装 Prettier 与 ESLint 扩展;2. 项目中安装 eslint、prettier、eslint-config-prettier、eslint-plugin-prettier 依赖;3. 配置 .eslintrc.js 使用 plugin:prettier/recommended,避免规则冲突;4. 创建 .prettierrc 定义格式化选项;5. 在 VS Code 设置中启用 formatOnSave,并指定 Prettier 为默认格式化工具,同时开启 codeActionsOnSave 自动修复 ESLint 问题;6. 推荐在项目级 .vscode/settings.json 中配置,防止影响其他项目;7. 若格式化未生效,检查文件类型识别与默认 formatter 设置,查看日志排查;8. 部分 ESLint 错误无法自动修复需手动处理;9. 确保引入 eslint-config-prettier 以消除规则冲突。配置完成后,保存即格式化,提升开发效率与团队协作一致性。

想在 VS Code 中让代码既规范又美观?Prettier 和 ESLint 结合使用是目前最主流的方案。Prettier 负责代码格式化,ESLint 负责代码质量校验,两者分工明确。配合 VS Code 的保存自动修复功能,可以实现保存即格式化、自动修复问题的效果。

安装必要的扩展和依赖

先确保你在项目中正确安装并配置了 Prettier 和 ESLint。

1. 安装 VS Code 扩展:

  • Prettier - Code formatter
  • ESLint

这两个扩展可在 VS Code 插件市场中直接搜索安装。

2. 在项目中安装依赖(推荐本地安装):

npm install --save-dev eslint prettier eslint-config-prettier eslint-plugin-prettier

其中:

  • eslint-config-prettier:关闭 ESLint 中与 Prettier 冲突的规则
  • eslint-plugin-prettier:将 Prettier 作为 ESLint 规则运行,有问题会显示在 ESLint 提示中

配置 ESLint 与 Prettier 协同工作

在项目根目录创建或修改 .eslintrc.js.eslintrc.json

module.exports = { extends: [ "eslint:recommended", "plugin:prettier/recommended" // 启用 Prettier 推荐配置 ], rules: { // 可自定义额外规则 } };

这个配置会自动启用 Prettier,并避免规则冲突。

你也可以单独创建 .prettierrc 文件来定义格式化偏好:

{ "semi": true, "trailingComma": "es5", "singleQuote": true, "printWidth": 80, "tabWidth": 2 }

设置 VS Code 实现保存时自动格式化

打开 VS Code 设置(Ctrl + ,),搜索 “format on save”,勾选 Editor: Format On Save

或者在 settings.json 中添加:

{ "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": true } }

说明:

  • defaultFormatter 指定 Prettier 为默认格式化工具
  • formatOnSave 保存时自动格式化
  • codeActionsOnSave 会触发 ESLint 自动修复可修复的问题

注意:如果项目中有多个 formatter,建议在项目级 .vscode/settings.json 中设置,避免影响其他项目。

处理常见问题

格式化未生效?
检查文件类型是否被识别正确,确认 Prettier 是否设为默认 formatter,查看输出面板中的 ESLint 或 Prettier 日志。

ESLint 报错但无法自动修复?
部分规则(如命名、逻辑错误)不能自动修复,需手动调整。可通过 npx eslint . --fix 尝试批量修复。

Prettier 和 ESLint 规则冲突?
确保已启用 eslint-config-prettier,它会关闭所有与格式相关的 ESLint 规则,避免重复报错。

基本上就这些。配置一次,长期受益。写代码更专注,团队协作也更顺畅。


# vs code  # vscode  # js  # json  # npm  # 工具  # ai  # 代码规范  # 常见问题  # format 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何彻底删除建站之星生成的Banner?  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  如何在万网自助建站平台快速创建网站?  Laravel如何实现API速率限制?(Rate Limiting教程)  在线教育网站制作平台,山西立德教育官网?  北京专业网站制作设计师招聘,北京白云观官方网站?  如何在阿里云域名上完成建站全流程?  java获取注册ip实例  Python数据仓库与ETL构建实战_Airflow调度流程详解  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  如何快速搭建虚拟主机网站?新手必看指南  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  历史网站制作软件,华为如何找回被删除的网站?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Python图片处理进阶教程_Pillow滤镜与图像增强  焦点电影公司作品,电影焦点结局是什么?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何登录建站主机?访问步骤全解析  黑客入侵网站服务器的常见手法有哪些?  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  Android仿QQ列表左滑删除操作  如何用低价快速搭建高质量网站?  详解vue.js组件化开发实践  Laravel如何实现一对一模型关联?(Eloquent示例)  iOS正则表达式验证手机号、邮箱、身份证号等  个人网站制作流程图片大全,个人网站如何注销?  如何在万网开始建站?分步指南解析  Laravel怎么使用Intervention Image库处理图片上传和缩放  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  如何快速选择适合个人网站的云服务器配置?  Laravel如何配置任务调度?(Cron Job示例)  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  详解Oracle修改字段类型方法总结  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Python文件流缓冲机制_IO性能解析【教程】  详解Android图表 MPAndroidChart折线图  如何用IIS7快速搭建并优化网站站点?  常州企业网站制作公司,全国继续教育网怎么登录?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  米侠浏览器网页背景异常怎么办 米侠显示修复  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  node.js报错:Cannot find module 'ejs'的解决办法  Laravel如何为API编写文档_Laravel API文档生成与维护方法  zabbix利用python脚本发送报警邮件的方法  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  如何使用 jQuery 正确渲染 Instagram 风格的标签列表