You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置nvim coc-eslint与Prettier时单引号设置失效求助

ESLint与Prettier单引号配置冲突,格式化后仍生成双引号?

问题描述:

我已经花了好几个小时调试.eslintrc.json配置,核心需求是让代码统一用单引号。我知道eslint:recommended默认包含单引号相关规则,但执行Prettier格式化时还是会生成双引号。我试过在prettier/prettier规则里配置singleQuote: true,也直接设置了quotes: ["error", "single"]——编辑时双引号会被ESLint标红,但Prettier格式化后还是变回双引号,实在没辙了,求帮忙。

我的.eslintrc.json配置如下:

{
  "env": {
    "browser": true,
    "commonjs": true,
    "es2021": true,
    "node": true
  },
  "extends": ["eslint:recommended", "prettier"],
  "plugins": ["prettier", "@babel", "vue"],
  "parserOptions": {
    "ecmaVersion": 2022,
    "parser": "@babel/eslint-parser",
    "sourceType": "module"
  },
  "rules": {
    "no-console": "off",
    "indent": ["error", 2],
    "linebreak-style": ["error", "unix"],
    "quotes": ["error", "single"],
    "semi": ["error", "always"],
    "prettier/prettier": ["error", {
      "singleQuote": true,
      "onlyUseLocalVersion": false
    }]
  }
}

解决方案:

  • 检查项目根目录是否存在独立的Prettier配置文件(比如.prettierrc、.prettierrc.json、.prettierrc.js),Prettier会优先读取这类独立配置,而非ESLint规则里的prettier/prettier配置。如果有,直接在该文件中添加"singleQuote": true即可。
  • 确认本地项目的prettier版本与eslint-plugin-prettier依赖的Prettier版本是否一致。onlyUseLocalVersion: false可能导致使用全局安装的Prettier,而全局配置可能覆盖了你的本地设置。建议将onlyUseLocalVersion设为true,或者重新安装匹配版本的prettier和eslint-plugin-prettier。
  • 检查编辑器的Prettier插件设置,比如VS Code中要确保Prettier: Config Path指向项目的配置文件,且Prettier: Use Editor Config没有启用(避免.editorconfig的设置干扰)。
  • 暂时注释掉ESLint的quotes规则,让Prettier完全管控引号格式。虽然理论上两者配置不冲突,但部分场景下可能存在优先级问题,注释后测试是否能正常生成单引号。

内容的提问来源于stack exchange,提问作者LongHike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 02:41:08