ESlint + VSCode自動格式化代碼(2020)

更多文章

在這裏插入圖片描述
本文用 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 的代碼也會自動格式化。

同理,其他類型的文件也可以這樣來設置格式化規範。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章