VSCODE 配置eslint规则和自动修复

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
    还看,没了,快去试试吧

原文地址:https://www.cnblogs.com/weilai-info/p/10988829.html

时间: 2024-08-29 17:07:18

VSCODE 配置eslint规则和自动修复的相关文章

vue 学1(cp) Eslint 配置及规则说明(报错)

https://blog.csdn.net/violetjack0808/article/details/72620859 https://blog.csdn.net/hsl0530hsl/article/details/78594973 Vue.js学习系列五 -- 从VUE-CLI来聊聊ESLint 原创 2017年05月22日 06:40:41 标签: vue-cli / eslint 7092 最近在用vue-cli写项目的时候,经常和ESLint打交道,也算是不打不相识啦.下面总结一下

vscode中eslint插件的配置

用vue-cli构建vue项目,会有个eslint代码检测的安装 可vscode自带代码格式化是prettier格式(右键有格式化文件或alt+shift+f) 这时候要在vscode上装一个eslint插件 装完后在文件----->首选项------->设置里找到settings.json(快捷键忘了) eslint配置如下,(配置的·具体详情还有待研究,我也是网上copy的,不过亲测可用).保存配置后每次写.vue文件只要control+s保存,就可以把代码格式改成符合eslint标准 &

VSCode格式化ESLint方法

背景: 由于在项目进行过程中,发现项目组有ESLint的代码规范,并在各项目中配置了ESLint     导致使用vscode各种报错,如下图 解决方案: 1.安装插件 (1)ESLint:JavaScript代码格式化工具 (2)vetur:可以格式化html,标准css,标准js,vue文件 2.确认package.json中的配置项 这是前提,确认在package.json中安装了eslint依赖,不然配置无用 3..eslinttrc.js文件配置 首先,在我们项目跟目录添加.eslin

nvm、node、npm安装以及pycharm配置eslint

nvm.node.npm之间的区别 1. nvm的官方叫法:nodejs版本管理工具. nvm相当于是家长,一个家长可以管理多个孩子. 也就是说:一个nvm可以管理很多node版本和npm版本. 2. nodejs 在项目开发时的所需要的代码库 3. npm 在安装的nodejs的时候,npm也会跟着一起安装,它是包管理工具. npm管理nodejs中的第三方插件 nvm.nodejs.npm的关系: nvm是爸爸,管理nodejs和npm这一对双胞胎兄弟.npm是哥哥,npm哥哥可以管理nod

让vscode按照eslint进行格式化

1.安装eslint依赖 在package.json中用npm安装eslint的依赖 "eslint": "^4.19.1", "eslint-friendly-formatter": "^4.0.1", "eslint-loader": "^2.0.0", "eslint-plugin-html": "^4.0.3", 2.生成eslint配置文

emacs配置eslint 语法检查.找不到node解决

使用emacs配置eslint 当调用语法检查时报错 Suspicious state from syntax checker javascript-eslint: Checker javascript-eslint returned non-zero exit code 127, but no errors from output: /usr/bin/env: "node": 没有那个文件或目录 但是我检查env环境使用 M-x getenv path 结果里面是有 user/bin

CI 配置验证规则

//判断表单域,提交表单显示对应的错误信息      $this->load->library('form_validation');      $config = array(      array(      'field' => 'username',      'label' => '用户名',      'rules' => 'trim|required|min_length[2]|max_length[12]'    //|xss_clean'      ), /

Spring Mvc Web 配置拦截规则与访问静态资源 (三)

拦截规则配置 1. *.do <!-- Processes application requests --> <servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name

webstorm配置eslint【标记错误,修复错误】

项目中经常用到eslint语法,结合个人经验,用webstorm配置eslint "文件"->"默认设置"->"语言&框架"->"Code Quality Tools"->"ESLint" 如图片所示操作后,在"项目目录"或"相应的文件上"或"代码区域块"右键可看到"Fix ESLint Problems&