VScode 的一些配置 (轉載)

本文轉載自https://www.jianshu.com/p/23a5d6194a4bjavascript

ESlint:是用來統一JavaScript代碼風格的工具,不包含css、html等css

背景:

近來研究前端,而後一直在百度上找VScode格式化(ESlint)的插件,結果找了半天都不靠譜。目前沒有一個能夠格式化html、css、符合ESlint的js、vue的插件,因此本身東拼西湊加實踐找到解決方法。html

解決方案:

一、安裝插件

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

 
很差.png

能把html格式化分行顯示
 
好.png

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風格,像這樣
 
圖片.png

 

二、在vscode的文件-首選項-設置裏,右側配置裏添加以下代碼便可(代碼有註釋!),今後直接 Ctrl+S 就能一鍵格式化了

 
圖片.png

 
 

代碼以下:vue

{
     // vscode默認啓用了根據文件類型自動設置tabsize的選項
    "editor.detectIndentation": false,
    // 從新設定tabsize
    "editor.tabSize": 2,
    // #每次保存的時候自動格式化 
    "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": "force-aligned"
            // #vue組件中html代碼格式化樣式
        }
    },
    // 格式化stylus, 需安裝Manta's Stylus Supremacy插件
    "stylusSupremacy.insertColons": false, // 是否插入冒號
    "stylusSupremacy.insertSemicolons": false, // 是否插入分好
    "stylusSupremacy.insertBraces": false, // 是否插入大括號
    "stylusSupremacy.insertNewLineAroundImports": false, // import以後是否換行
    "stylusSupremacy.insertNewLineAroundBlocks": false // 兩個選擇器中是否換行
}
做者:Guoyubo 連接:https://www.jianshu.com/p/23a5d6194a4b 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。
相關文章
相關標籤/搜索