美文网首页
VSCode中ESLint和Prettier的冲突解决

VSCode中ESLint和Prettier的冲突解决

作者: AaronZ_dd7f | 来源:发表于2021-01-27 16:20 被阅读0次

    相关插件

    1. ESLint


      ESLint插件
    2. Prettier


      截屏2021-01-27 下午3.22.21.png

    解决方式一

    安装相关依赖
    yarn add prettier -D --exact
    yarn add eslint-plugin-prettier -D
    yarn add eslint-config-prettier -D
    
    修改eslintrc.js
    module.exports = {
      extends: [
        // ... 其余配置
        // 增加下面两行
        'plugin:prettier/recommended',
        'prettier/vue'
      ],
      rules: {
        // ...其余配置
        "prettier/prettier": "error",
      }
    }
    
    修改settings.json
    {
      // editor
      "editor.formatOnSave": true, // 保存立即更改
      "editor.codeActionsOnSave": {
          "source.fixAll.eslint": true // For eslint
      },
    
      // eslint
      "eslint.options": {
        "configFile": ".eslintrc.js" // eslint的配置文件
      },
      "eslint.validate": [
        "html", "vue", "javascript", "javascriptreact"
      ],
    
    
      "[javascript]": {
          "editor.defaultFormatter": "esbenp.prettier-vscode"   // prettier
      },
      "[vue]": {
          "editor.defaultFormatter": "esbenp.prettier-vscode"   // prettier
      },
    }
    

    这样就基本解决了eslint和prettier的冲突的问题,但是代码还是被格式化了两次,一次是在codeActionsOnSave使用eslint进行格式化,一次是在formatOnSave的时候prettier进行格式化

    解决方式二

    {
      // 1. 关闭codeActionsOnSave的格式代码
      //   "editor.codeActionsOnSave": {
      //       "source.fixAll.eslint": true // For eslint
      //   },
    
      // 2. 更改为如下方式格式代码
      "eslint.format.enable": true, // 使用Eslint作为文件的一种格式规范
      "[javascript]": {
          "editor.defaultFormatter": "dbaeumer.vscode-eslint" // 格式规范由prettier改为eslint
      },
      "[vue]": {
          "editor.defaultFormatter": "dbaeumer.vscode-eslint" // 格式规范由prettier改为eslint
      },
    }
    

    这样只会在formatOnSave的时候进行代码格式化,而且用的eslint的规范。

    相关文章

      网友评论

          本文标题:VSCode中ESLint和Prettier的冲突解决

          本文链接:https://www.haomeiwen.com/subject/xyrazktx.html