美文网首页前端杂货铺
vscode中,vue-cli的ESLint配置问题

vscode中,vue-cli的ESLint配置问题

作者: 吴wuwu | 来源:发表于2020-06-08 13:09 被阅读0次

    解决缩进报错问题常用设置:

    1.文件->首选项->设置->扩展->eslint->在settings.json中编辑:

    "eslint.codeAction.disableRuleComment": {

        // vscode默认启用了根据文件类型自动设置tabsize的选项

        "editor.detectIndentation": false,

        // 重新设定tabsize

        "editor.tabSize": 2,

        // #每次保存的时候自动格式化

        "editor.formatOnSave": true,

        // #每次保存的时候将代码按eslint格式进行修复

        "eslint.autoFixOnSave": true,

        // 添加 vue 支持

        "eslint.validate": [

          "javascript",

          "javascriptreact",

          {

            "language": "vue",

            "autoFix": true

          }

        ],

        //  #让prettier使用eslint的代码格式进行校验

        "prettier.eslintIntegration": true,

        //  #去掉代码结尾的分号

        "prettier.semi": false,

        //  #使用带引号替代双引号

        "prettier.singleQuote": true,

        //  #让函数(名)和后面的括号之间加个空格

        "javascript.format.insertSpaceBeforeFunctionParenthesis": true,

        // #这个按用户自身习惯选择

        "vetur.format.defaultFormatter.html": "js-beautify-html",

        // #让vue中的js按编辑器自带的ts格式进行格式化

        "vetur.format.defaultFormatter.js": "vscode-typescript",

        "vetur.format.defaultFormatterOptions": {

          "js-beautify-html": {

            "wrap_attributes": "force-aligned"

            // #vue组件中html代码格式化样式

          }

        },

        // 格式化stylus, 需安装Manta's Stylus Supremacy插件

        "stylusSupremacy.insertColons": false, // 是否插入冒号

        "stylusSupremacy.insertSemicolons": false, // 是否插入分好

        "stylusSupremacy.insertBraces": false, // 是否插入大括号

        "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行

        "stylusSupremacy.insertNewLineAroundBlocks": false,

        "editor.suggestSelection": "first",

        "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue" // 两个选择器中是否换行

      },

    2.配置 .eslintrc.js 规则:

    module.exports = {

        root: true,

        env: {

            node: true

        },

        extends: [

            'plugin:vue/essential',

            '@vue/standard'

        ],

        parserOptions: {

            parser: 'babel-eslint'

        },

        rules: {

            'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',

            'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',

            // allow async-await

            'generator-star-spacing': 'off',

            // allow debugger during development

            'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',

            /*

       0 或’off’:  关闭规则。

       1 或’warn’: 打开规则,并且作为一个警告,字体颜色为黄色(并不会导致检查不通过)。

       2 或’error’:打开规则,并且作为一个错误 ,色体颜色为红色(退出码为1,检查不通过)。

          */

            // 以下为该项目自定义部分

            'indent': [2, 4], //缩进风格 - 开启缩进4格

            'no-spaced-func': 2, //函数调用时 函数名与()之间不能有空格 - 开启

            'no-const-assign': 2, //禁止修改const声明的变量 - 开启

            'space-before-function-paren': [0, 'always'], //函数定义时括号前面要有空格 - 关闭

            'eol-last': 0, //文件以单一的换行符结束 - 关闭

            'camelcase': 0, //强制驼峰法命名 - 关闭

            'no-undef': 0, //不能有未定义的变量 - 关闭

            'no-alert': 0, //禁止使用alert confirm prompt - 关闭

            'arrow-parens': 0, //箭头函数用小括号括起来 - 关闭

        }

    }

    3.配置.editorconfig规则:

    [*.{js,jsx,ts,tsx,vue}]

    indent_style = space

    indent_size = 2

    trim_trailing_whitespace = true

    insert_final_newline = true

    root = true // 让这个文件生效

    [*] // 对所有文件都生效

    charset = utf-8 // 编码

    indent_style = space // 缩进'tabs键',如果习惯用空格可以设为'space'

    indent_size = 2 // 缩进的尺寸

    end_of_line = lf // 换行符格式(开发系统差异)

    insert_final_newline = true // 是否在文件的最后插入一个空行

    trim_trailing_whitespace = true // 是否删除行尾的空格

    配置完成后解决问题:

    相关文章

      网友评论

        本文标题:vscode中,vue-cli的ESLint配置问题

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