福尔摩斯对我笑 2019-06-07 30688 次 2917条

VSCODE 配置eslint规则和自动修复

  • vscode安装以下插件

    EsLint、vetur、Prettier - Code formatter

  • vscode设置了添加配置项,,默认会去查找你项目中的eslint配置文件
      "workbench.iconTheme": "material-icon-theme",
      "explorer.confirmDragAndDrop": false,
      "explorer.confirmDelete": false,
      "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/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 还看,没了,快去试试吧

标签: 无


未来博客 博主大人



已有 2917 条评论 1


    Very good write-up. I certainly love this site. Continue the good work!

    回复 2019年12月7日
  2. any assembly

    Wow! This can be one particular of the most beneficial blogs We’ve ever arrive across on this subject. Basically Fantastic. I am also a specialist in this topic therefore I can understand your hard work.

    回复 2019年12月7日
  3. Business furniture installation

    hi!,I really like your writing so a lot! percentage we be in contact extra approximately your post on AOL? I require an expert in this area to solve my problem. May be that’s you! Taking a look ahead to see you.

    回复 2019年12月7日
  4. ตู้ม้าออนไลน์ apk

    This really answered my downside, thanks!

    回复 2019年12月6日
  5. ultimate installation

    I got what you intend, appreciate it for posting .Woh I am delighted to find this website through google. “Those who corrupt the public mind are just as evil as those who steal from the public.” by Theodor Wiesengrund Adorno.

    回复 2019年12月6日
  6. udaipur escorts

    Great beat ! I wish to apprentice while you amend your site, how can i subscribe for a blog web site? The account aided me a acceptable deal. I had been tiny bit acquainted of this your broadcast provided bright clear concept

    回复 2019年12月6日
  7. cebantogel

    magnificent issues altogether, you simply won a logo new reader. What may you recommend in regards to your publish that you simply made a few days ago? Any certain?

    回复 2019年12月6日
  8. 3d design

    I just couldn’t depart your web site before suggesting that I really enjoyed the standard info a person provide for your visitors? Is going to be back often in order to check up on new posts

    回复 2019年12月5日
  9. i99bet

    May I simply just say what a relief to discover somebody that genuinely understands what they’re talking about on the internet. You actually realize how to bring an issue to light and make it important. A lot more people need to look at this and understand this side of the story. I was surprised that you aren’t more popular since you definitely have the gift.

    回复 2019年12月4日
  10. i99bet

    Hi there, I do believe your blog could be having web browser compatibility problems. Whenever I take a look at your site in Safari, it looks fine however when opening in I.E., it has some overlapping issues. I merely wanted to give you a quick heads up! Other than that, excellent site.

    回复 2019年12月3日
  11. John Deere Technical Manuals

    Please visit these excellent download sites and download all cool stuffs for free.

    回复 2019年12月2日
  12. Micah Chien

    It’s hard to come by well-informed people on this subject, however, you sound like you know what you’re talking about! Thanks

    回复 2019年12月2日
  13. Projektowanie Gorzów

    I believe this website has some rattling good info for everyone. “There is nothing so disagreeable, that a patient mind cannot find some solace for it.” by Lucius Annaeus Seneca.

    回复 2019年11月30日
  14. Francisco Wikins

    You are my breathing in, I own few blogs and often run out from to post : (.

    回复 2019年11月29日
  15. Vince Comish

    Excellent stuff. I can not describe how much your site has helped me within my academic research on the subject. I am now going to get top marks for certain. Thanks a million. I owe you one.

    回复 2019年11月28日
  16. recommended you read

    I just want to mention I am newbie to blogging and site-building and definitely savored you’re website. Very likely I’m likely to bookmark your website . You definitely come with exceptional articles. With thanks for revealing your web-site.

    回复 2019年11月24日
  17. StevDede

    Buy Synthroid Abbott Zithromax Rx prix levitra medicament buy accutane online reviews Acheter Dapoxetine Online No Prescription Comprar Cytotec En Estados Unidos

    回复 2019年10月26日