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 的代碼也會自動格式化。

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


免責聲明!

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



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