VSCode怎么解决Prettier和ESLint代码格式化规则互相冲突报错的问题

胖强同学_4474

胖强同学_4474

2026-04-07

934人浏览

原创

prettier和eslint互相报错因职责重叠:prettier管样式,eslint默认启用格式类规则,配置不一致导致冲突;应禁用eslint中quotes、semi等格式规则,或使用eslint-config-prettier插件并置于extends末尾,同时在vscode中设prettier为默认格式化器。

vscode怎么解决prettier和eslint代码格式化规则互相冲突报错的问题

为什么Prettier和ESLint会互相报错

因为Prettier负责代码样式(比如缩进、引号、换行),而ESLint默认启用大量格式类规则(如quotes、semi、indent),两者职责重叠,且规则配置不一致时就会打架——ESLint提示“缺少分号”,Prettier却自动删掉它;ESLint要求单引号,Prettier被设成双引号,保存后反复来回改。

关闭ESLint中所有格式类规则(最直接有效)

核心思路:让ESLint只管逻辑/安全/可维护性问题,把格式交给Prettier。需要在ESLint配置中禁用所有与格式相关的规则。

VSCode
VSCode

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

下载
  • 在.eslintrc.js或.eslintrc.cjs的rules里显式关掉冲突项:
    "quotes": "off",
    "semi": "off",
    "comma-dangle": "off",
    "no-mixed-spaces-and-tabs": "off",
    "indent": "off",
    "space-before-function-paren": "off",
    "arrow-spacing": "off"
  • 更省事的方式是使用官方推荐的插件:eslint-config-prettier,它会一键关闭所有和Prettier冲突的规则
  • 安装后,在extends数组末尾加上"prettier"(注意必须放最后,否则会被前面的配置覆盖)

确保VSCode真正用Prettier做保存时格式化

很多人配了但没生效,是因为VSCode没把格式化器指定为Prettier,或者ESLint插件抢在Prettier前执行了保存操作。

  • 检查项目根目录是否有.prettierrc(或prettier.config.js),内容至少包含基本偏好,例如:
    {"semi": true, "singleQuote": true, "tabWidth": 2}
  • 在VSCode设置里搜format on save,确认已开启
  • 右键编辑器 → “Format Document With…” → 选“Configure Default Formatter” → 选esbenp.prettier-vscode
  • 如果还冲突,检查settings.json里有没有"eslint.format.enable": true——这个选项会让ESLint插件也尝试格式化,必须删掉或设为false

遇到“Prettier not found”或格式化完全不触发

常见于全局安装Prettier但项目里没装,或VSCode工作区识别错了Node环境。

  • 优先在项目本地安装:npm install --save-dev prettier eslint-config-prettier
  • 不要依赖全局Prettier:VSCode的Prettier插件默认优先找项目node_modules下的版本
  • 如果用了pnpm,确认node_modules/.pnpm路径没被VSCode忽略(某些工作区设置会排除.pnpm)
  • 重启VSCode窗口(不是仅重载窗口),尤其在刚安装完依赖后——插件常缓存了旧的模块解析结果
实际项目里最容易被忽略的是eslint-config-prettier没加在extends末尾,以及VSCode默认格式化器仍指向ESLint而非Prettier——这两处不动,其他都配对也没用。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2055

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3022

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1036

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3419

7

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.31

1689

3

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.06.27

1211

7

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4116

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1295

5

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1658

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程