vscode自动保存格式化eslint规则配置

在vscode插件中行下载三个插件如图

ESLintvscode自动保存格式化eslint规则配置_第1张图片
Prettier - Code formattevscode自动保存格式化eslint规则配置_第2张图片
Vetur 因为使用了滴滴小程序开发框架,vetur高高版本不兼容,只能使用降低版本
vscode自动保存格式化eslint规则配置_第3张图片
点击左下角的设置,搜索eslint,就可以看到setting.json文件,打开进行eslin配置

{
  "vetur.validation.template": false,
  "window.zoomLevel": 0,
  "editor.tabSize": 4,
  "powermode.enabled": true, //启动效果
  "powermode.presets": "flames", // flames 火花效果
  "powermode.enableShake": false, // 关闭代码抖动
  "minapp-vscode.disableAutoConfig": true,
  "workbench.iconTheme": "material-icon-theme",
  "workbench.colorTheme": "Material Theme High Contrast",
  "files.associations": {
    "*.cjson": "jsonc",
    "*.wxss": "css",
    "*.wxs": "javascript",
    "*.mpx": "vue" // mpx文件关联到vue文件
  },
  "vetur.format.defaultFormatterOptions": {
    "js-beautify-html": {
      "wrap_attributes": "aligned-multiple"
    },
    "prettyhtml": {
      "printWidth": 800, // No line exceeds 100 characters
      "singleQuote": false, // Prefer double quotes over single quotes
      "wrapAttributes": true,
      "sortAttributes": false
    },
    "prettier": {
      // Prettier option here
      "semi": false, //  #去掉代码结尾的分号 
      "singleQuote": true, //  #使用单引号替代双引号 
      "eslintIntegration": true //  #让prettier使用eslint的代码格式进行校验 
    }
  },
  "vetur.format.defaultFormatter.js": "vscode-typescript",
  "vetur.format.defaultFormatter.html": "js-beautify-html",
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    // 新版
    "typescript",
    "typescriptreact",
    "html",
    "vue"
    // 旧版
     {
        "language": "html",
         "autoFix": true
      },
      {
         "language": "vue",
         "autoFix": true
      }
  ],
  "prettier.printWidth": 800,
  "prettier.jsxBracketSameLine": false, // 在jsx中把'>' 是否单独放一行
  "prettier.jsxSingleQuote": false, // 在jsx中使用单引号代替双引号
  // jsx自动修复有问题,取消js的format
  "editor.formatOnSave": false,
  // Enable/disable default JavaScript formatter (For Prettier)
  "javascript.format.enable": false,
  "emmet.includeLanguages": {
    "wxml": "html"
  },
  // 新版  自动格式化
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  // 旧版
  "eslint.autoFixOnSave": true,
  
  "editor.fontSize": 15,
  "[vue]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "prettier.tabWidth": 4,
  "[html]": {
    "editor.defaultFormatter": "vscode.html-language-features"
  },
  "[json]": {
    "editor.defaultFormatter": "vscode.json-language-features"
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[jsonc]": {
    "editor.defaultFormatter": "vscode.json-language-features"
  },
  "eslint.options": {
    "rules": {
      "func-names": 0, //函数表达式必须有名字
      "no-restricted-syntax": 0, // 禁止使用for in for of语法
      "no-plusplus": 0, // 禁止使用++,--
      "no-multi-spaces": 1, //不能用多余的空格
      "no-underscore-dangle": [
        "off",
        "always"
      ], // 1, 标识符不能以_开头或结尾
     
      "consistent-return": 0, //return 后面是否允许省略
      "comma-spacing": 2, //逗号前后的空格
      "comma-dangle": [
        2,
        "never"
      ], //对象字面量项尾不能有逗号
      "key-spacing":2,//对象字面量中冒号的前后空格
      "array-bracket-spacing": ["error","always"], // 数组前后空格
      
      "camelcase": 0, // 2 强制驼峰法命名
      "no-prototype-builtins": 0, //禁止直接调用 Object.prototypes 的内置属性
      "no-mixed-operators": 0, // 禁止混合使用不同的操作符
      "one-var": 0, //禁止使用连续声明
      "no-var": 2,//禁用var,用let和const代替
      "no-bitwise": 0, //禁止使用按位运算符
      "no-restricted-globals": 0, // 禁用特定的全局变量
      "no-multi-assign": 0, // 禁止连续赋值
      "no-useless-escape": 0, // 禁用不必要的转义字符
      "max-len": [
        0,
        100,
        4
      ], //字符串最大长度
      "import/prefer-default-export": 0,
      "one-var-declaration-per-line": 0, //要求或禁止在变量声明周围换行
      "prefer-const": 0,
      "dot-location": 0, //对象访问符的位置,换行的时候在行首还是行尾
      "react-hooks/exhaustive-deps": 0, // 禁止检查 Hook 的规则
    },
  },
  "javascript.updateImportsOnFileMove.enabled": "always",
}

你可能感兴趣的:(Eslint)