VSCODE配置eslint校验和保存自动修复

福尔摩斯对我笑 2019-06-07 6442 次 883条

VSCODE 配置eslint规则和自动修复

  • vscode安装以下插件

    EsLint、vetur、Prettier - Code formatter

  • vscode设置了添加配置项,,默认会去查找你项目中的eslint配置文件
       {
      "workbench.iconTheme": "material-icon-theme",
      "explorer.confirmDragAndDrop": false,
      "explorer.confirmDelete": false,
      //配置eslint
      "eslint.autoFixOnSave": true,  //  启用保存时自动修复,默认只支持.js文件
      "eslint.validate": [
         "javascript",  //  用eslint的规则检测js文件
         {
           "language": "vue",   // 检测vue文件
           "autoFix": true   //  为vue文件开启保存自动修复的功能
         },
         {
           "language": "html",
           "autoFix": true
         },
       ],
    
    }
    
    
  • 项目中创建.eslitrc.js配置 文件,可能比较多
        module.exports = {
      root: true,
      parserOptions: {
        parser: 'babel-eslint',
        sourceType: 'module'
      },
      env: {
        browser: true,
        node: true,
        es6: true,
      },
      extends: ['plugin:vue/recommended', 'eslint:recommended'],
    
      // add your custom rules here
      //it is base on https://github.com/vuejs/eslint-config-vue
      rules: {
        "vue/max-attributes-per-line": [2, {
          "singleline": 10,
          "multiline": {
            "max": 1,
            "allowFirstLine": false
          }
        }],
        "vue/singleline-html-element-content-newline": "off",
        "vue/multiline-html-element-content-newline":"off",
        "vue/name-property-casing": ["error", "PascalCase"],
        "vue/no-v-html": "off",
        'accessor-pairs': 2,
        'arrow-spacing': [2, {
          'before': true,
          'after': true
        }],
        'block-spacing': [2, 'always'],
        'brace-style': [2, '1tbs', {
          'allowSingleLine': true
        }],
        'camelcase': [0, {
          'properties': 'always'
        }],
        'comma-dangle': [2, 'never'],
        'comma-spacing': [2, {
          'before': false,
          'after': true
        }],
        'comma-style': [2, 'last'],
        'constructor-super': 2,
        'curly': [2, 'multi-line'],
        'dot-location': [2, 'property'],
        'eol-last': 2,
        'eqeqeq': ["error", "always", {"null": "ignore"}],
        'generator-star-spacing': [2, {
          'before': true,
          'after': true
        }],
        'handle-callback-err': [2, '^(err|error)$'],
        'indent': [2, 2, {
          'SwitchCase': 1
        }],
        'jsx-quotes': [2, 'prefer-single'],
        'key-spacing': [2, {
          'beforeColon': false,
          'afterColon': true
        }],
        'keyword-spacing': [2, {
          'before': true,
          'after': true
        }],
        'new-cap': [2, {
          'newIsCap': true,
          'capIsNew': false
        }],
        'new-parens': 2,
        'no-array-constructor': 2,
        'no-caller': 2,
        'no-console': 'off',
        'no-class-assign': 2,
        'no-cond-assign': 2,
        'no-const-assign': 2,
        'no-control-regex': 0,
        'no-delete-var': 2,
        'no-dupe-args': 2,
        'no-dupe-class-members': 2,
        'no-dupe-keys': 2,
        'no-duplicate-case': 2,
        'no-empty-character-class': 2,
        'no-empty-pattern': 2,
        'no-eval': 2,
        'no-ex-assign': 2,
        'no-extend-native': 2,
        'no-extra-bind': 2,
        'no-extra-boolean-cast': 2,
        'no-extra-parens': [2, 'functions'],
        'no-fallthrough': 2,
        'no-floating-decimal': 2,
        'no-func-assign': 2,
        'no-implied-eval': 2,
        'no-inner-declarations': [2, 'functions'],
        'no-invalid-regexp': 2,
        'no-irregular-whitespace': 2,
        'no-iterator': 2,
        'no-label-var': 2,
        'no-labels': [2, {
          'allowLoop': false,
          'allowSwitch': false
        }],
        'no-lone-blocks': 2,
        'no-mixed-spaces-and-tabs': 2,
        'no-multi-spaces': 2,
        'no-multi-str': 2,
        'no-multiple-empty-lines': [2, {
          'max': 1
        }],
        'no-native-reassign': 2,
        'no-negated-in-lhs': 2,
        'no-new-object': 2,
        'no-new-require': 2,
        'no-new-symbol': 2,
        'no-new-wrappers': 2,
        'no-obj-calls': 2,
        'no-octal': 2,
        'no-octal-escape': 2,
        'no-path-concat': 2,
        'no-proto': 2,
        'no-redeclare': 2,
        'no-regex-spaces': 2,
        'no-return-assign': [2, 'except-parens'],
        'no-self-assign': 2,
        'no-self-compare': 2,
        'no-sequences': 2,
        'no-shadow-restricted-names': 2,
        'no-spaced-func': 2,
        'no-sparse-arrays': 2,
        'no-this-before-super': 2,
        'no-throw-literal': 2,
        'no-trailing-spaces': 2,
        'no-undef': 2,
        'no-undef-init': 2,
        'no-unexpected-multiline': 2,
        'no-unmodified-loop-condition': 2,
        'no-unneeded-ternary': [2, {
          'defaultAssignment': false
        }],
        'no-unreachable': 2,
        'no-unsafe-finally': 2,
        'no-unused-vars': [2, {
          'vars': 'all',
          'args': 'none'
        }],
        'no-useless-call': 2,
        'no-useless-computed-key': 2,
        'no-useless-constructor': 2,
        'no-useless-escape': 0,
        'no-whitespace-before-property': 2,
        'no-with': 2,
        'one-var': [2, {
          'initialized': 'never'
        }],
        'operator-linebreak': [2, 'after', {
          'overrides': {
            '?': 'before',
            ':': 'before'
          }
        }],
        'padded-blocks': [2, 'never'],
        'quotes': [2, 'single', {
          'avoidEscape': true,
          'allowTemplateLiterals': true
        }],
        'semi': [2, 'never'],
        'semi-spacing': [2, {
          'before': false,
          'after': true
        }],
        'space-before-blocks': [2, 'always'],
        'space-before-function-paren': [2, 'never'],
        'space-in-parens': [2, 'never'],
        'space-infix-ops': 2,
        'space-unary-ops': [2, {
          'words': true,
          'nonwords': false
        }],
        'spaced-comment': [2, 'always', {
          'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
        }],
        'template-curly-spacing': [2, 'never'],
        'use-isnan': 2,
        'valid-typeof': 2,
        'wrap-iife': [2, 'any'],
        'yield-star-spacing': [2, 'both'],
        'yoda': [2, 'never'],
        'prefer-const': 2,
        'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
        'object-curly-spacing': [2, 'always', {
          objectsInObjects: false
        }],
        'array-bracket-spacing': [2, 'never']
      }
    }
    
    
  • Done 还看,没了,快去试试吧

标签: 无

非特殊说明,本博所有文章均为博主原创。

头像也是LOGO
未来博客 博主大人
到了这个年纪,不应该再彷徨!

发表评论



 


已有 883 条评论 1


  1. Napoleon Boebinger

    Your style is really unique compared to other folks I have read stuff from. I appreciate you for posting when you’ve got the opportunity, Guess I’ll just book mark this web site.

    回复 2020年3月31日
  2. Amycycle 回复 2020年3月30日
  3. Teocycle 回复 2020年3月30日
  4. Amycycle 回复 2020年3月30日
  5. Amycycle 回复 2020年3月30日
  6. mom porn

    Great article. I’m going through many of these issues as well..

    回复 2020年3月30日
  7. Evacycle 回复 2020年3月30日
  8. Kiacycle 回复 2020年3月30日
  9. Teocycle 回复 2020年3月30日
  10. Amycycle 回复 2020年3月29日
  11. Kiacycle 回复 2020年3月29日
  12. Evacycle 回复 2020年3月29日
  13. Bryce Pina

    This web site truly has all the information and facts I wanted about this subject and didn’t know who to ask.

    回复 2020年3月29日
  14. Teocycle 回复 2020年3月29日
  15. John Deere Service Manuals

    A well written post, I just given this onto a colleague who was doing slightly analysis on that. And he indeed purchased me breakfast because I discovered it for him .. thus let me reword that: Thankx for the treat! however yeah Thnx for spending the time to talk concerning this, I feel strongly concerning it and revel in reading a lot of on this topic. If potential, as you become expertise, would you mind updating your blog with a lot of info? it’s very useful on behalf of me. two thumb up for this blog!

    回复 2020年3月29日
  16. CBD gummies

    Spot on with this write-up, I truly believe that this web site needs far more attention. I’ll probably be returning to see more, thanks for the info.

    回复 2020年3月29日
  17. Breaking News

    When I initially commented I seem to have clicked the -Notify me when new comments are added- checkbox and from now on each time a comment is added I recieve 4 emails with the same comment. Perhaps there is a means you can remove me from that service? Appreciate it.

    回复 2020年3月29日
  18. Admaal News

    You’re so awesome! I don’t think I’ve read through anything like this before. So good to find someone with a few original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a bit of originality.

    回复 2020年3月28日
  19. statistics covid19

    I could not resist commenting. Well written.

    回复 2020年3月28日
  20. Evacycle 回复 2020年3月28日
  21. Amycycle 回复 2020年3月28日
  22. Janecycle 回复 2020年3月27日
  23. essex county airport

    Interesting blog! Is your theme custom made or did you download it from somewhere? A design like yours with a few simple tweeks would really make my blog jump out. Please let me know where you got your design. Thanks

    回复 2020年3月27日
  24. best flight schools in nj

    Hey, I think your website might be having browser compatibility issues. When I look at your website in Opera, it looks fine but when opening in Internet Explorer, it has some overlapping. I just wanted to give you a quick heads up! Other then that, excellent blog!

    回复 2020年3月27日
  25. bao hiem suc khoe bao viet

    Your style is so unique in comparison to other people I have read stuff from. Thanks for posting when you’ve got the opportunity, Guess I’ll just book mark this page.

    回复 2020年3月27日
  26. cach tu van ban xe oto

    Way cool! Some very valid points! I appreciate you penning this article plus the rest of the site is very good.

    回复 2020年3月27日