🔥完美解決ESlint+Prettier各項配置沖突的語法報錯問題(新手向)


本文重點:

1.解決修改了Prettier默認配置,項目內格式化無法生效
2.解決Prettier缺少配置,函數名括號之間,自動添加空格
3.settings.json配置項分享
一個程序員,可能非常精通寫代碼,但是平時很少接觸的配置項,會讓他更加焦頭爛額,復制這些配置項,減少不比必要的痛苦,留更多的精力在代碼開發上,附心臟驟停和復蘇對比圖。
VS
--------------------------使用前------------------------------------------------------使用后----------------------------

1.修改Prettier默認配置,格式化無法生效

問題描述:

在VUE項目根目錄,不創建".prettierrc.js"文件的前提下,只通過插件——擴展設置,或settings.json進行配置后,剛剛修改的配置,格式化效果未生效
感謝本小結思路來源:雲帆Plan

解決方法:

1.1由於prettier插件優先使用項目根目錄下的editorconfig配置文件,所以在vscode中怎么配置有沒有用

1.2進入perttier插件擴展配置

1.3取消Use Editor Config的復選框,這樣就不會優先使用editorconfig配置文件了

2.Prettier缺少配置,函數名和后面的括號之間加個空格

問題描述:

ESlint的默認standard 規則要求函數名和括號之間有一個空格,這就是space-before-function-paren 規則(ESLint 本身也會默認開啟這個規則)。 但是 prettier 完全沒有這個規則!prettier 不會處理這個空格的問題,所以根據 ESLint 配置修改 prettier 規則不可行
感謝本小結思路來源:雪見仙尊

解決方法:

2.1安裝 prettier-eslint插件

2.2進入vscode設置

2.3選擇用戶或者工作區,點擊圖形按鈕,打開settings.json文件

2.4修改配置,有就修改,沒有就手動添加

3.settings.json配置項分享

進入vscode設置,點一下“工作區”,再點那個圖形按鈕,打開settings.json文件,全部添加上去即可,有重復的手動修改一下,如果嫌麻煩的話,就全選粘貼,覆蓋上去
如果出現保存后閃動報錯,就把“每次保存的時候自動格式化”下的配置項,注釋掉就可以了。在項目代碼文件里,手動按鍵“Shift+Alt+F"先進行格式化,后保存

{
  // 選擇vue文件的格式化工具
  "[vue]": {
    // 1.使用prettier,無法配置函數名后的空格
    // "editor.defaultFormatter": "esbenp.prettier-vscode"
    // 2.使用prettier-eslint
    "editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
  },
  // #每次保存的時候自動格式化
  "editor.formatOnSave": true,
  // 自動修復
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  "eslint.enable": true, //是否開啟vscode的eslint
  // 配置 ESLint 檢查的文件類型
  "eslint.validate": ["javascript", "vue", "html"],
  "eslint.options": {
    //指定vscode的eslint所處理的文件的后綴
    "extensions": [".js", ".vue", ".ts", ".tsx"]
  },
  //  #去掉代碼結尾的分號
  "prettier.semi": false,
  //  #使用單引號替代雙引號
  "prettier.singleQuote": true,
  "prettier.trailingComma": "none",
  "prettier.bracketSpacing": true,
  //  #讓函數(名)和后面的括號之間加個空格
  "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
  // #讓vue中的js按編輯器自帶的ts格式進行格式化
  "vetur.format.defaultFormatter.js": "prettier-eslint",
  "git.enableSmartCommit": true,
  "editor.quickSuggestions": {
    "strings": true
  },
  //一定要在vutur.defaultFormatterOptions參數中設置,單獨修改prettier擴展的設置是無法解決這個問題的,因為perttier默認忽略了vue文件(事實上從忽略列表移除vue也不能解決這個問題)
  "vetur.format.defaultFormatterOptions": {
    "prettier": {
      "semi": false, // 格式化不加分號
      "singleQuote": true // 格式化以單引號為主
    },
    "js-beautify-html": {
      // force-aligned | force-expand-multiline
      "wrap_attributes": "force-aligned"
    },
    "prettyhtml": {
      "printWidth": 100,
      "singleQuote": false,
      "wrapAttributes": false,
      "sortAttributes": true
    }
  },
  // 關於@src目錄路徑提示的配置
  // 安裝vscode插件 `Path Intellisense`
  "path-intellisense.mappings": {
    "@": "${workspaceRoot}/src"
  }
}


免責聲明!

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



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