一、安裝插件

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風格,像這樣

二、配置settings.json信息
File->Preference->Settings【也可以快捷鍵 ctr + ,(window系統) 直接打開】

現在看到的是界面配置模式,點擊右上角的大括號(如下圖),可以打開 settings.json 文件。

粘貼以下代碼,保存即可
{
// vscode默認啟用了根據文件類型自動設置tabsize的選項
"editor.detectIndentation": false,
// 重新設定tabsize
"editor.tabSize": 4,
// #值設置為true時,每次保存的時候自動格式化;值設置為false時,代碼格式化請按shift+alt+F
"editor.formatOnSave": false,
// #每次保存的時候將代碼按eslint格式進行修復
"eslint.autoFixOnSave": true,
// 添加 vue 支持
"eslint.validate": [
"javascript",
"javascriptreact",
{
"language": "vue",
"autoFix": true
}
],
// #讓prettier使用eslint的代碼格式進行校驗
"prettier.eslintIntegration": true,
// #去掉代碼結尾的分號
"prettier.semi": false,
// #使用帶引號替代雙引號
"prettier.singleQuote": true,
"prettier.tabWidth": 4,
// #讓函數(名)和后面的括號之間加個空格
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
// #這個按用戶自身習慣選擇
"vetur.format.defaultFormatter.html": "js-beautify-html",
// #讓vue中的js按"prettier"格式進行格式化
"vetur.format.defaultFormatter.js": "prettier",
"vetur.format.defaultFormatterOptions": {
"js-beautify-html": {
// #vue組件中html代碼格式化樣式
"wrap_attributes": "force-aligned", //也可以設置為“auto”,效果會不一樣
"wrap_line_length": 200,
"end_with_newline": false,
"semi": false,
"singleQuote": true
},
"prettier": {
"semi": false,
"singleQuote": true
}
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// 格式化stylus, 需安裝Manta's Stylus Supremacy插件
"stylusSupremacy.insertColons": false, // 是否插入冒號
"stylusSupremacy.insertSemicolons": false, // 是否插入分號
"stylusSupremacy.insertBraces": false, // 是否插入大括號
"stylusSupremacy.insertNewLineAroundImports": false, // import之后是否換行
"stylusSupremacy.insertNewLineAroundBlocks": false,
"prettier.useTabs": true,
"files.autoSave": "off",
"explorer.confirmDelete": false,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"diffEditor.ignoreTrimWhitespace": false // 兩個選擇器中是否換行
}
從此直接 Ctrl+S 就能一鍵格式化了。
