vscode符合eslint的代碼格式化設置


1、安裝插件

1)ESlint:javascript代碼檢測工具,可以配置每次保存時格式化js,但每次保存只格式化一點點,你得連續按住Ctrl+S好幾次,才格式化好,自行體會~~
2)vetur:可以格式化html、標准css(有分號 、大括號的那種)、標准js(有分號 、雙引號的那種)、vue文件,
但是!格式化的標准js文件不符合ESlint規范,會給你加上雙引號、分號等

3)Prettier - Code formatter:只關注格式化,並不具有eslint檢查語法等能力,只關心格式化文件(最大長度、混合標簽和空格、引用樣式等),包括JavaScript · Flow · TypeScript · CSS · SCSS · Less · JSX · Vue · GraphQL · JSON · Markdown
4)Manta's Stylus Supremacy: 格式化stylus的插件(不用就不裝),因為vetur會把css格式化有分號 、大括號的那種,此插件會把css格式化成stylus風格

 

{
  "workbench.colorTheme": "Solarized Light (no bold)",
  "files.autoSave": "onFocusChange",
  "eslint.format.enable": true,
  "eslint.nodeEnv": "",
  // 重新設定tabsize
  "editor.tabSize": 2,
  "editor.fontSize": 16,
  "debug.console.fontSize": 14,
  "terminal.integrated.fontSize": 14,
  "explorer.confirmDragAndDrop": false,
  "[typescript]": {
    "editor.defaultFormatter": "vscode.typescript-language-features"
  },
  "[json]": {
    "editor.defaultFormatter": "vscode.json-language-features"
  },
  "[jsonc]": {
    "editor.defaultFormatter": "vscode.json-language-features"
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  // vscode默認啟用了根據文件類型自動設置tabsize的選項
  "editor.detectIndentation": false,
  // #每次保存的時候自動格式化 
  "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": "auto"
      // #vue組件中html代碼格式化樣式 force-aligned
    }
  },
  // 格式化stylus, 需安裝Manta's Stylus Supremacy插件
  "stylusSupremacy.insertColons": false, // 是否插入冒號
  "stylusSupremacy.insertSemicolons": false, // 是否插入分好
  "stylusSupremacy.insertBraces": false, // 是否插入大括號
  "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否換行
  "stylusSupremacy.insertNewLineAroundBlocks": false,
  "[vue]": {
    "editor.defaultFormatter": "dbaeumer.vscode-eslint"
  }, // 兩個選擇器中是否換行
  "vetur.experimental.templateInterpolationService": true, // vue template代碼中,有ts的提示
}

 5)Auto Close Tag自動補全關閉標簽

安裝即可,敲html代碼,會自動補全

6)Bracket Pair Colorizer 2

對應括號顯示同樣的顏色,放置我們混淆括號

7)JavaScript (ES6) code snippets

es6 代碼自動補全

8) vscode-icons 為文件管理器增加文件類型圖標

9) Auto Rename Tag

{
  "javascript.preferences.quoteStyle": "single",
  "workbench.colorTheme": "Solarized Light (no bold)",
  "files.autoSave": "onFocusChange",
  "eslint.format.enable": true,
  "eslint.nodeEnv": "",
  // 重新設定tabsize
  "editor.tabSize": 2,
  "editor.fontSize": 16,
  "debug.console.fontSize": 14,
  "terminal.integrated.fontSize": 14,
  "explorer.confirmDragAndDrop": false,
  "bracket-pair-colorizer-2.colors": [
    "Orchid",
    "YellowGreen",
    "Orange"
  ],
  "[typescript]": {
    "editor.defaultFormatter": "vscode.typescript-language-features"
  },
  "[json]": {
    "editor.defaultFormatter": "vscode.json-language-features"
  },
  "[jsonc]": {
    "editor.defaultFormatter": "vscode.json-language-features"
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  // vscode默認啟用了根據文件類型自動設置tabsize的選項
  "editor.detectIndentation": false,
  // #每次保存的時候自動格式化 
  "editor.formatOnSave": true,
  // #每次保存的時候將代碼按eslint格式進行修復
  "eslint.autoFixOnSave": true,
  // 添加 vue 支持
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    {
      "language": "vue",
      "autoFix": true
    }
  ],
  "indent": "off",
  "@typescript-eslint/indent": [
    "error"
  ],
  //  #讓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": "auto", // #vue組件中html代碼格式化樣式 force-aligned
      "prettier": {
        "semi": true,
        "singleQuote": true
      }
    }
  },
  // 格式化stylus, 需安裝Manta's Stylus Supremacy插件
  "stylusSupremacy.insertColons": false, // 是否插入冒號
  "stylusSupremacy.insertSemicolons": false, // 是否插入分好
  "stylusSupremacy.insertBraces": false, // 是否插入大括號
  "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否換行
  "stylusSupremacy.insertNewLineAroundBlocks": false,
  "[vue]": {
    "editor.defaultFormatter": "dbaeumer.vscode-eslint"
  }, // 兩個選擇器中是否換行
  "vetur.experimental.templateInterpolationService": true, // vue template代碼中,有ts的提示
  "editor.fontLigatures": null,
  "workbench.iconTheme": "vscode-icons",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM