在VSCode中配置Prettier与ESLint,实现代码自动格式化
发布时间 - 2025-12-18 00:00:00 点击率:次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 统一入口最稳。
# vue
# javascript
# java
# vscode
# js
# json
# typescript
# npm
# 配置文件
# format
# var
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
linux top下的 minerd 木马清除方法
网页设计与网站制作内容,怎样注册网站?
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
PythonWeb开发入门教程_Flask快速构建Web应用
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
如何用搬瓦工VPS快速搭建个人网站?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
网站制作壁纸教程视频,电脑壁纸网站?
,怎么在广州志愿者网站注册?
Android滚轮选择时间控件使用详解
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
如何用腾讯建站主机快速创建免费网站?
javascript中的try catch异常捕获机制用法分析
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
如何确保FTP站点访问权限与数据传输安全?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
Laravel如何使用.env文件管理环境变量?(最佳实践)
Android 常见的图片加载框架详细介绍
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
Laravel如何为API编写文档_Laravel API文档生成与维护方法
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
Laravel如何保护应用免受CSRF攻击?(原理和示例)
Laravel如何实现多对多模型关联?(Eloquent教程)
Laravel如何实现用户密码重置功能?(完整流程代码)
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
JavaScript如何实现音频处理_Web Audio API如何工作?
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
EditPlus中的正则表达式 实战(1)
教你用AI润色文章,让你的文字表达更专业
Laravel如何处理CORS跨域请求?(配置示例)
如何基于云服务器快速搭建网站及云盘系统?
Laravel API资源类怎么用_Laravel API Resource数据转换
在线教育网站制作平台,山西立德教育官网?
如何做网站制作流程,*游戏网站怎么搭建?
中山网站推广排名,中山信息港登录入口?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
香港服务器网站卡顿?如何解决网络延迟与负载问题?
Laravel如何实现本地化和多语言支持?(i18n教程)
清除minerd进程的简单方法


者:esbenp)和 ESLint(官方,作者:dbaeumer)