如何解决ESLint和prettier冲突问题

这篇具有很好参考价值的文章主要介绍了如何解决ESLint和prettier冲突问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注意:这个冲突问题一般是指在代码编辑器中出现的问题,这里使用的是vscode。

在前端开发中,很多人使用 prettier 作为代码格式化工具,用 ESLint 控制代码风格,以及检查错误。

但是在同时使用 ESLint 和 prettier 的时候,由于代码规则不一样就会发生冲突,发生冲突的原因是:在保存文件时,**ESLint 先修复了代码符合 ESLint 的代码风格,之后 prettier 又格式化了代码,导致代码不符合 ESLint 规则了。**所以代码就会出现 ESLint 的警告或报错提示。

起初想的是把 prettier 规则配置的和 ESLint 一致,但是由于规则不一样,不可能完全兼容。

之后有一个折中的方法,在 vscode 中,如果把保存文件时不格式化文件开启,就不会自定调用 prettier 规则格式化代码了,这样就能符合 ESLint 规范了。

但是还有一个问题是 ESLint 修复主要针对的是 jsts 的代码,对于其他的代码如 html、css 等文件还是得用 prittier,所以这种方法也有局限性。

解决方案1

在 vscode 中安装插件 prettier-eslint 插件,这个插件的工作原理是先使用 prettier 格式化,然后再使用 ESLint 检查和修复,这样就能符合 ESLint 代码风格了。

插件介绍链接:https://marketplace.visualstudio.com/items?itemName=rvest.vs-code-prettier-eslint

插件安装完成后,将此插件设置为工作区或用户中文件类型的默认格式化程序,在 vscode 配置文件中添加以下代码:文章来源地址https://www.toymoban.com/news/detail-727088.html

{
  // 保存时使用 ESLint 修复可修复错误
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  // 定义一个默认格式化程序, 该格式化程序优先于所有其他格式化程序设置。必须是提供格式化程序的扩展的标识符。
  "editor.defaultFormatter": "rvest.vs-code-prettier-eslint",
  // "editor.formatOnPaste": false, // required
  // "editor.formatOnType": false, // required
  // "editor.formatOnSave": true, // optional
  // "editor.formatOnSaveMode": "file", // required to format on save
  // "files.autoSave": "onFocusChange" // optional but recommended
}

配置完成后,重启 vscode 后生效。

解决方案2

在 vscode 中安装插件 PEF: Prettier & Eslint Formatter 插件,这个插件的工作原理是先使用 prettier 格式化,然后再使用 ESLint 检查和修复,这样就能符合 ESLint 代码风格了。

插件介绍链接:https://marketplace.visualstudio.com/items?itemName=jonwolfe.prettier-eslint-formatter

插件安装完成后,将此插件设置为工作区或用户中文件类型的默认格式化程序,在 vscode 配置文件中添加以下代码:

{
  "[javascript]": {
    "editor.defaultFormatter": "jonwolfe.prettier-eslint-formatter",
    "editor.codeActionsOnSave": {
      "source.fixAll.eslint": false
    }
  },
  "[javascriptreact]": {
    "editor.defaultFormatter": "jonwolfe.prettier-eslint-formatter",
    "editor.codeActionsOnSave": {
      "source.fixAll.eslint": false
    }
  },
  "[typescript]": {
    "editor.defaultFormatter": "jonwolfe.prettier-eslint-formatter",
    "editor.codeActionsOnSave": {
      "source.fixAll.eslint": false
    }
  },
  "[typescriptreact]": {
    "editor.defaultFormatter": "jonwolfe.prettier-eslint-formatter",
    "editor.codeActionsOnSave": {
      "source.fixAll.eslint": false
    }
  }
}

到了这里,关于如何解决ESLint和prettier冲突问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【VScode】ESLint :warning Delete `CR` prettier/prettier

    作用     检查 Javascript 编程时的语法错误。 新建或修改文件时报错 原因      Windows系统 ,clone的代码会自动把换行符 LF 转为回车符 CRLF ,这时本地的代码都是回车符。可在prettier.config.js中查看到 检查配置(ESLint中是否支持JavaScript/vue语言) (1)在VScode中,使用Ctr + 打开

    2024年02月02日
    浏览(57)
  • vscode中使用eslint+prettier的配置

    eslint+prettier+vscode自动保存用起来感觉非常爽快。 一般来说,安装eslint+prettier插件,然后使用相关脚手架配套的eslint+prettier,无法自动格式代码,每次都需要执行格式化命令。这里贴出保存自动格式化代码的setting.json。 如果不使用脚手架自带的eslint+prettier配置,可以参考我之

    2024年02月10日
    浏览(50)
  • vsCode配置Eslint+Prettier结合使用详细配置步骤,规范化开发

            eslint它规范的是代码偏向语法层面上的风格 。本篇文章以一个基本的vue项目,来说明eslint+prettier+husky配置项目代码规范,为了更好的描述本文,我恢复了vscode的默认设置(即未安装eslint,prettier等插件,setting中也没有相关配置) 1、新建vue3.0脚手架项目 2、项目安装

    2023年04月17日
    浏览(49)
  • vscode编辑器,vue、小程序等语言适配eslint格式校验 + prettier 保存时自动修改格式

    目的:自留备份,用者自取 基础配置 1 基于vscode编辑器,prettier插件需要下载 2 eslint配置项规则: https://eslint.bootcss.com/docs/rules/ 3 prettier配置项规则: https://prettier.io/docs/en/options.html 安装插件 配置文件问题: 如果项目中带有.vscode文件夹,这里面的setting.json会覆盖全局的sett

    2024年02月09日
    浏览(57)
  • VsCode中Vue代码格式插件,Vetur、ESLint 、Prettier - Code formatter的介绍使用及相关配置

    Vetur是一款Vue代码高亮显示的一款插件,在没有使用此插件前,以 .vue的文件名代码是没有颜色的!!! 安装步骤:在扩展商店中搜索(  Vetur  )点击安装  ESLint插件主要用来检测代码的语法格式,以便我们规范书写,避免因编译所发生的错误 。 安装步骤:在扩展商店中搜

    2024年02月16日
    浏览(39)
  • Delete `␍`eslint(prettier/prettier)

    今天下午配置eslint和 prettier 时,频频报错:Delete `␍`eslint(prettier/prettier),vscode全页面爆红。 经过多次尝试与试验后,最终多种方式结合解决了这个问题。 安装了 prettier 插件指定了文件结尾的换行符与系统的不一样所导致的。 Windows在换行的时候,同时使用了回车符CR和换行

    2024年01月15日
    浏览(53)
  • [eslint] Delete `CR` [prettier/prettier]

    Prettier 和 ESLint 结合使用时,于是代码运行时因为与项目创建者产生 crlf 和 cr 差别, eslint 检测会出来以至于无法启动以及 全面爆红 罪魁祸首是 git ,一个配置属性 core.autocrlf 由于历史原因,文本文件的换行符 windows 和 linux 是不同的。 Windows 换行时,同时使用回车 CR(carriag

    2024年02月15日
    浏览(56)
  • vue-cli自定义创建项目-eslint依赖冲突解决方式

    创建项目步骤 概览: 在安装 npm安装时会报错 依赖冲突原因: @vue/eslint-config-standard@6.1.0 依赖于 eslint-plugin-vue 的 ^7.0.0 版本,但是项目中安装了更高版本的 eslint-plugin-vue 解决方式:降级eslint-plugin-vue到@vue/eslint-config-standard支持的版本 解决后: 再进行npm安装,就能成功

    2024年04月09日
    浏览(53)
  • eslint prettier 配置

    1.创建: pnpm create vite 2. 自启浏览器;技巧01 : package.json - \\\"dev\\\": \\\"vite\\\" -- \\\"dev\\\": \\\"vite\\\" -- \\\"dev\\\": \\\"vite --open \\\" 一个项目要有统一的规范,需要使用 eslint + stylelint + prettier 来对我们的代码质量做检测和修复 eslint用于代码语法检测 stylelint用于对css代码进行语法检测 prettier用于代码格式规范

    2024年03月22日
    浏览(49)
  • Eslint+Prettier

    js验证的规则标准,Vue也有自己的独特的验证规则, vue-eslint-plugin 属于vue自己的验证规则。 如果不想报错,可以在 package.json/rules 里面进行关闭,默认是开启的,默认缩进是两个空格。 使写代码更加的美观 可选的配置项: 例如:

    2024年01月25日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包