新闻中心

Prettier与ESLint:在VSCode中实现代码格式化与校验

2025-12-06
浏览次数:
返回列表
Prettier负责代码格式化,ESLint负责逻辑与质量检查;需关闭ESLint中格式规则、配置VSCode保存时自动格式化与修复,并通过项目配置文件统一团队规范。

prettier与eslint:在vscode中实现代码格式化与校验

在 VSCode 中同时用好 Prettier 和 ESLint,关键不是“谁替代谁”,而是“谁管格式、谁管逻辑”——Prettier 负责统一代码样式(缩进、引号、换行等),ESLint 负责检查代码质量与潜在问题(如未使用变量、错误的 Promise 用法等)。两者配合得当,编辑器保存时就能自动格式化 + 校验报错,开发体验更顺。

明确分工:Prettier 做格式,ESLint 做规则

Prettier 是“不接受商量”的格式化工具,它不支持配置“是否加分号”这类风格争议项(除非关掉整个规则);ESLint 则是可高度定制的静态检查器,能覆盖语法、逻辑、安全等多维度。若让 ESLint 同时管格式,容易和 Prettier 冲突(比如一个要分号、一个不要),导致保存后反复格式化或报错不消失。

  • 关闭 ESLint 中所有与格式相关的规则(如 semiquotescomma-dangle),推荐直接使用 eslint-config-prettier 来一键禁用冲突规则
  • 保留 ESLint 的业务逻辑类规则(如 no-unused-varsreact-hooks/exhaustive-depsno-async-promise-executor
  • Prettier 配置保持精简,通常只需指定 semisingleQuotetabWidth 等基础项,其余交给默认值

VSCode 设置:确保保存时自动执行

VSCode 默认不会在保存时同时触发 Prettier 格式化和 ESLint 修复,需手动配置对齐行为:

  • 安装官方扩展:Prettier(by Esben Petersen)和 ESLint(by Dirk Baeumer)
  • 在 VSCode 设置(settings.json)中启用保存时格式化,并指定默认格式化工具为 Prettier:
    "editor.formatOnS*e": true
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  • 允许 ESLint 在保存时自动修复**可修复的问题**(如引号、空格等已被禁用的格式规则除外):
    "editor.codeActionsOnS*e": { "source.fixAll.eslint": true }
  • 如项目含多种语言(如 .vue 或 .ts),建议按语言单独设置格式化器,避免误处理

项目级配置:靠配置文件统一团队行为

仅靠 VSCode 设置无法保证所有开发者一致,必须把规则落到项目配置文件中:

简小派 简小派

简小派是一款AI原生求职工具,通过简历优化、岗位匹配、项目生成、模拟面试与智能投递,全链路提升求职成功率,帮助普通人更快拿到更好的 offer。

简小派 123 查看详情 简小派
  • 根目录放 .prettierrc(或 prettier.config.js),定义 Prettier 行为
  • .eslintrc.cjs(或 .js/.json)配置 ESLint,继承 eslint:recommended + plugin:react/recommended(如需)+ prettier(即 eslint-config-prettier)
  • .eslintignore 排除 node_modules、dist 等无需检查的目录
  • 可选:添加 package.json 中的脚本,如 "lint": "eslint src/""format": "prettier --write src/",方便 CI 或手动执行

常见问题:为什么保存没反应?或提示“ESLint couldn’t determine the plugin”?

多数问题出在插件未正确加载或配置路径不对:

  • 确认项目本地安装了 prettiereslinteslint-config-prettier(及所需插件如 @typescript-eslint/eslint-plugin),而非仅全局安装
  • VSCode 工作区必须打开的是项目根目录(含 node_modules 和配置文件),否则扩展找不到本地依赖
  • 检查 ESLint 输出面板(Ctrl+Shift+U → 选择 ESLint),看是否有加载失败或路径警告
  • 如果用了 TypeScript,确保 @typescript-eslint/parser 和对应插件已配置,且 parserOptions.project 指向正确的 tsconfig.json

基本上就这些。配好一次,后续开发就几乎不用操心格式和低级错误,专注写逻辑本身。

以上就是Prettier与ESLint:在VSCode中实现代码格式化与校验的详细内容,更多请关注其它相关文章!


# 的是  # 茶叶线上营销抖音推广  # 临汾seo优化有哪些  # 营销网络推广供应商  # 鄂州谷歌seo哪家好  # 西安在线推广网站  # 亳州seo优化哪家专业  # 协会网站建设哪家强  # 资阳视频seo公司  # 石林网络营销网络推广  # 东莞餐厅网站建设方案  # 已被  # 找不到  # 则是  # 加载  # vscode  # 多维  # 开发人员  # 报错  # 化与  # 常见问题  # 配置文件  # 工具  # typescript  # node  # json  # js  # react  # vue  # 代码格式化 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问  CSS Grid如何控制元素对齐_align-items与justify-items组合使用  今日头条怎么同步内容到抖音_今日头条内容同步到抖音教程  PyTorch模型训练效果不佳?深入剖析常见错误与调试技巧  如何在复杂的电商平台中优雅地管理共享资源并确保正确重定向,使用spryker-shop/resource-share-page模块助你一臂之力  快手极速版在线观看 官方网页版登录地址  Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略  如何使用纯J*aScript判断Input元素是否在特定类容器内  win11专注助手在哪 Win11免打扰模式设置与自动化规则【指南】  星露谷物语官网入口 星露谷物语游戏官网入口  Win10如何恢复误删的快捷方式_Win10重建常用软件快捷方式  解决 Express.js 中 PUT 请求密码修改失败的路由配置指南  移动端XML文件怎么转换成Excel 手机和平板上的解决方案  如何有效阻止外部脚本意外修改内联样式的高度属性  曝R星经典之作开发图 设计简陋但信息密集!  漫蛙2在线漫画入口 漫蛙正版漫画网页版直达  J*aScript中正确使用querySelectorAll与复杂CSS选择器  漫蛙Manwa2官网入口地址分享 漫蛙漫画PC版永久访问通道  深入理解与实现最大堆的Heapify过程:常见错误与修正  vivo手机互传视频怎么操作_vivo手机互传视频详细传输方法  《GTA6》开发画面疑似泄露!这次可不是AI了  MAC的“快捷指令”怎么同步到iPhone_MAC利用iCloud同步所有设备的自动化指令  痛风发作了怎么办? 快速止痛和后期饮食调理  反效果?《战地6》免费试玩开启后玩家数不升反降  抖音网页版怎么|直播|_抖音网页版开播操作指南  QQ邮箱在线登录平台 QQ邮箱个人邮箱网页版入口  Node.js 中使用 node-cron 实现定时 API 数据抓取与处理  怎么在mac上运行html代码_mac运行html代码方法【指南】  如何在CSS中使用visited与link控制链接颜色_visited link伪类配合  解决J*aScript中重复选择项的确认对话框显示问题  html网页设计源代码怎么运行_运行html网页设计源代码步骤【指南】  vivo云服务网页版登录 怎么登录vivo云服务网页版  uc手机浏览器网页版入口 uc浏览器手机版便捷登录首页  汽水音乐车机版横屏版7.1 汽水音乐车机版横屏版下载入口  大麦的“候补”是什么意思 大麦候补购票规则【详解】  快手官方唯一登录入口 谨防山寨钓鱼网站  Python实现多节点属性重叠度分析教程  在VS Code中配置和运行Dart程序的完整步骤  为什么简单的XML文件也会解析失败? 检查隐藏的非打印字符(如BOM)的方法  抖音未来赚钱的新趋势 2025年值得关注的变现风口分析  PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误  c++中的std::basic_string的SSO优化_c++短字符串优化深度解析  C++的std::forward_list怎么用_C++ STL中单向链表容器的特点与应用  Pandas DataFrame:高效添加条件计算列  Linux如何排查内存不足OOME问题_LinuxOOM分析教程  抖音DOU+怎么投最有效 抖音付费推广的ROI提升技巧  在Blazor WebAssembly应用中动态注入客户端特定指标代码的策略  抖音商城签到领现金是真的吗_抖音商城签到奖励与提现说明  在J*a里如何理解依赖关系的方向_依赖方向在模块结构中的作用  Golang如何使用const iota_Go iota常量计数器讲解 

搜索