讲师中心 微信公众号
AI工具推荐 视频效率加速

VSCode怎么配置解决Prettier与ESLint的代码冲突

秋静小哥_9419

秋静小哥_9419

发布时间:2026-04-30 16:41:32

|

506人浏览过

|

来源于php中文网

原创

ESLint 与 Prettier 冲突本质是职责未分离:ESLint 应只检查逻辑错误,Prettier 专责格式化;需用 eslint-config-prettier 关闭 ESLint 所有格式规则,将 "prettier" 置于 extends 末尾,并在 VSCode 中设 editor.defaultFormatter 为 prettier-vscode、禁用 eslint.format.enable、删除已废弃的 prettier.eslintIntegration。

vscode怎么配置解决prettier与eslint的代码冲突

直接结论:ESLint 和 Prettier 冲突不是配置没写全,而是职责没切干净——必须让 ESLint 只管“错不错”,Prettier 只管“好不好看”,否则保存时反复拉扯是必然的。

为什么保存后代码被反复修改?

典型表现是:保存一次,引号从单变双;再保存,又变回单;或者分号忽有忽无。根本原因是 VSCode 同时启用了 editor.formatOnSave(调 Prettier)和 source.fixAll.eslint(调 ESLint 自动修复),而两者对同一格式项(如 quotes、semi)规则相反,又没做隔离。

  • ESLint 配了 "quotes": ["error", "single"],但 Prettier 默认用双引号
  • VSCode 没指定默认格式化器,结果可能先走 Prettier 再被 ESLint 覆盖,或顺序反过来
  • prettier.eslintIntegration 这个旧配置已废弃,启用它反而会让行为不可控

怎么让 ESLint 彻底不管格式?

核心是用 eslint-config-prettier 关掉所有与格式相关的 ESLint 规则,避免和 Prettier 对线。

  • 运行 npm install --save-dev eslint-config-prettier(或 yarn add -D eslint-config-prettier)
  • 在你的 ESLint 配置文件(如 .eslintrc.cjs)中,把 "prettier" 放在 extends 数组**最后**:
{"extends": ["eslint:recommended", "plugin:vue/vue3-essential", "prettier"]}

注意:顺序不能错。“prettier” 必须在最后,否则会被前面的配置覆盖。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载

VSCode 设置里哪些关键项不能错?

项目级配置优先于全局,所以直接在项目根目录建 .vscode/settings.json,内容如下:

  • 明确指定 Prettier 为默认格式化器:"editor.defaultFormatter": "esbenp.prettier-vscode"
  • 关闭 ESLint 的自动格式化能力:"eslint.format.enable": false(别留默认 true)
  • 只让 ESLint 做检查和修复逻辑错误:"editor.codeActionsOnSave": {"source.fixAll.eslint": true}
  • 开启保存时格式化,但只走 Prettier:"editor.formatOnSave": true
  • 禁用旧版冲突开关:"prettier.eslintIntegration" 这一项**必须删掉或设为 false**,它已不兼容 ESLint v8+ 和最新 Prettier

Vue 项目额外要注意什么?

如果你用 Vetur(非 Vue CLI 5.0+ 或 Volar),Vetur 自带的格式化会和 Prettier 抢 .vue 文件的 template 和 script 区块。

  • 关掉 Vetur 的 JS/TS 格式化:"vetur.format.defaultFormatter.js": "none"
  • 关掉 Vetur 的 HTML 格式化:"vetur.format.defaultFormatter.html": "none"
  • 确保 eslint.validate 包含 "vue",且 parser 是 @typescript-eslint/parser(若用 TS)

如果项目已迁移到 Volar,那直接卸载 Vetur,Volar + ESLint + Prettier 组合更干净,不需要额外关 Vetur 格式化。

最容易被忽略的一点:改完配置后,务必关掉所有 VSCode 窗口再重开,而不是仅重载窗口——插件配置缓存有时不会热更新,尤其是 defaultFormatter 这类底层设置。

热门AI工具

更多
超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

1235

2023.06.30

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2592

2023.07.21

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1889

2024.03.14

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1707

2024.03.14

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2587

2024.03.15

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1798

2024.03.15

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1242

2024.03.15

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1096

2024.03.15

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

80

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn