如何在VSCode中禁用ESLint中的Prettier校验?
解决ESLint中Prettier相关规则误提示问题
1. 排查项目依赖中的ESLint Prettier插件
即使未安装VSCode的Prettier扩展,项目的ESLint也可能通过npm/yarn安装了eslint-plugin-prettier、eslint-config-prettier这类依赖,它们会让ESLint接管Prettier的格式校验:
- 打开项目根目录的
package.json,检查devDependencies下是否存在上述包; - 若不需要这些插件,直接执行卸载命令:
npm uninstall eslint-plugin-prettier eslint-config-prettier --save-dev # 或使用yarn yarn remove eslint-plugin-prettier eslint-config-prettier --dev
2. 修改ESLint配置文件关闭规则
如果不想卸载依赖,直接在项目的ESLint配置文件(.eslintrc.js/.eslintrc.json/.eslintrc)中关闭Prettier相关规则:
{ "rules": { "prettier/prettier": "off" } }
若你的ESLint配置中extends字段包含带Prettier的共享配置(比如"prettier"、"airbnb-base/prettier"),直接移除这些配置项即可。
3. 通过VSCode设置禁用ESLint的Prettier规则
在全局或项目级的settings.json中,添加规则自定义来关闭所有Prettier相关的ESLint校验:
全局设置(C:\Users\myuserid\AppData\Roaming\Code\User\settings.json)
{ "editor.accessibilitySupport": "off", "editor.formatOnPaste": true, "editor.formatOnSave": true, "eslint.rules.customizations": [ { "rule": "prettier/*", "severity": "off" } ] }
项目级设置(C:\Users\myuserid\source\react-native\TargetSum.vscode\settings.json)
{ "eslint.rules.customizations": [ { "rule": "prettier/*", "severity": "off" } ] }
4. 重启ESLint服务
修改配置后,在VSCode中按下Ctrl+Shift+P(Windows)/Cmd+Shift+P(Mac),输入ESLint: Restart ESLint Server,重启服务后设置即可生效。
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

