1. 程式人生 > >vscode自動修復eslint規範的插件及配置

vscode自動修復eslint規範的插件及配置

多人合作 abs valid 自動校驗 for col aci docs validate

在開發大型項目中,經常都是需要多人合作的。相信大家一定都非常頭疼於修改別人的代碼的吧,而合理的使用eslint規範可以讓我們在代碼review時變得輕松,也可以讓我們在修改小夥伴們的代碼的時候會更加清晰。但是往往在開發過程中由於我們個人習慣的不通經常會先關掉一些eslint的屬性,又或者每個人對於eslint的配置也是不一樣的,所以當我們統一配置eslint之後,我們可以通過vscode或者webstorm插件配置eslint規範,自動修改關於eslint的問題。

一、eslint規範

使用vue-cli3搭建vue項目初始化時,會有選擇eslint的設置,一般情況下,設置使用 ‘eslint:recommended‘

,也可以在.eslintrc.js配置其他覺得適合項目的一些eslint規範(詳細eslint規則參考:https://cn.eslint.org/docs/rules/):

module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    ‘plugin:vue/essential‘,
    ‘@vue/airbnb‘,
    ‘eslint:recommended‘
  ],
  rules: {
    ‘no-console‘: process.env.NODE_ENV === ‘production‘ ? ‘error‘ : ‘off‘,
    
‘no-debugger‘: process.env.NODE_ENV === ‘production‘ ? ‘error‘ : ‘off‘, ‘no-trailing-spaces‘: ‘error‘, // 禁止行尾空格 ‘linebreak-style‘: [0, ‘error‘, ‘windows‘], ‘import/extensions‘: ‘off‘, "comma-dangle": ["error", "never"], // 禁止行尾逗號 "semi": ["error", "never"], // 禁止分號 "space-before-blocks": "error", //
強制在塊之前使用一致的空格 "comma-spacing": "error", // 逗號後面加空格 ‘indent‘: [2, 2, { ‘SwitchCase‘: 1 }], //代碼首行縮進規定,switchcase的設置比較特別,如果直接設置‘indent‘:2,使用代碼自動校驗會發現switch代碼段無法校驗通過 }, parserOptions: { parser: ‘babel-eslint‘, }, };

二、自動修復eslint報錯

vscode安裝插件vetur,prettier,eslint配置相對應的eslint規範可自動幫我們修復一些eslint報錯問題,以下是一些基本的配置:

  "vetur.format.defaultFormatter.js": "prettier-eslint",
  "vetur.format.defaultFormatter.html": "js-beautify-html",
  "vetur.format.defaultFormatterOptions": {
    "wrap_attributes": "force-aligned"
  },
  "editor.detectIndentation": false,
  // 重新設定tabsize
  "editor.tabSize": 2,
  // "editor.formatOnSave": true,  // 保存時自動格式化 --vscode編輯器自帶自動格式化會與設置的eslint規範有所沖突導致eslint報錯
  "eslint.autoFixOnSave": true, //保存時使用eslint規範自動格式化
  // 添加 vue 支持
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    {
      "language": "vue",
      "autoFix": true
    }
  ],
  "prettier.eslintIntegration": true, // 讓prettier使用eslint的代碼格式進行校驗 (如果未安裝prettier或者不需要prettier格式化可以不用設置prettier這些屬性)
  "prettier.semi": false,  // 去掉代碼結尾的分號 
  "prettier.singleQuote": true,  // 使用帶引號替代雙引號 

收藏:https://www.haorooms.com/post/vscode_eslint

vscode自動修復eslint規範的插件及配置