本文重點:
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"
}
}