更多文章
本文用 Vue 項目做示范。
利用 Vue CLI 創建項目時要將 ESlint 選上,下載完依賴后,用 VSCode 打開項目。
安裝插件 ESLint,然后 File -> Preference -> Settings(如果裝了中文插件包應該是 文件 -> 選項 -> 用戶),搜索 eslint,點擊 Edit in setting.json
將以下選項添加到配置文件
"eslint.autoFixOnSave": true,
"eslint.validate": [
{
"language": "vue",
"autoFix": true
},
{
"language": "html",
"autoFix": true
},
{
"language": "javascript",
"autoFix": true
},
{
"language": "typescript",
"autoFix": true
},
],
2020更新
由於 vscode 版本更新,以上配置已經失效,需要改為
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
},
配置完之后,VSCode 會根據你當前 Vue 項目下的 .eslintrc.js
文件的規則來驗證和格式化代碼。
PS:自動格式化代碼在保存時自動觸發,目前試了 TS 和 JS 以及 vue 文件中的 JS 代碼都沒問題,html 和 vue 中的 html 和 css 無效。
擴展
其實還是有辦法格式化 vue 文件中的 html 和 css 代碼的,利用 vscode 自帶的格式化,快捷鍵是 shift + alt + f
,假設你當前 vscode 打開的是一個 vue 文件,按下 shift + alt + f
會提示你選擇一種格式化規范,如果沒提示,那就是已經有默認的格式化規范了(一般是 vetur 插件),然后 vue 文件的所有代碼都會格式化,並且格式化規則還可以自己配置,如下圖所示,可以根據自己的喜好來選擇格式化規則。
因為之前已經設置過 eslint 的格式化規則了,所以 vue 文件只需要格式化 html 和 css 中的代碼,不需要格式化 javascript 代碼,我們可以這樣配置來禁止 vetur 格式化 javascript 代碼:
然后回到剛才的 vue 文件,隨意打亂代碼的格式,再按下 shift + alt + f
,會發現 html 和 css 中的代碼已經格式化了,但是 javascript 的代碼並沒格式化。沒關系,因為已經設置了 eslint 格式化,所以只要保存,javascript 的代碼也會自動格式化。
同理,其他類型的文件也可以這樣來設置格式化規范。