用vue-cli構建vue項目,會有個eslint代碼檢測的安裝
可vscode自帶代碼格式化是prettier格式(右鍵有格式化文件或alt+shift+f)
這時候要在vscode上裝一個eslint插件
裝完后在文件-----》首選項-------》設置里找到settings.json
eslint配置如下,(配置的·具體詳情還有待研究,我也是網上copy的,不過親測可用)。保存配置后每次寫.vue文件只要control+s保存,就可以把代碼格式改成符合eslint標准
{
"editor.fontSize": 20,
"files.autoSave": "off",
"eslint.autoFixOnSave": true,
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"[css]": {
"editor.defaultFormatter": "michelemelluso.code-beautifier"
},
//eslint 代碼自動檢查相關配置
"eslint.enable": true,
"eslint.run": "onType",
"eslint.options": {
"extensions": [".js", ".vue"]
},
"eslint.validate": [
"javascriptreact",
"javascript",
{
"language": "vue",
"autoFix": true
},
"html",
{
"language": "html",
"autoFix": true
}
]
}
}
在寫vue的時候很多人會選擇prettier+eslint來規范代碼格式
這時候有些人就很奇怪,我明明在setting.json里配置了prettier的格式化規范,怎么就不生效呢
其實用vscode做vue開發的時候都會安裝一個Vetur的插件來對.vue格式的文件進行處理,Vetur自帶了格式化,規范就是使用prettier
如果你有裝prettier插件,並且在設置或setting.json里配置了prettier的話是無效的
如上圖,在設置勾選后配置后就會在setting.json里生成對應配置代碼,不過由於Vetur的存在,此時的prettier其實並未起作用(可能是優先級問題吧,我也不清楚)
正確配置看下圖和Vetur官方文檔
所以說有兩種方法配置,一種是在根目錄下寫一個.prettier文件,文件里的內容可以參考網上其它文章。另一種就是如上圖所示,在setting.json里配置
------------------------------------------------------------------------------分割線---------------------------------------------------
eslint也是能格式化的,只是有局限性,所以要prettier來配合
完整配置:
{
"editor.fontSize": 20,
"files.autoSave": "off",
"eslint.autoFixOnSave": true,
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"[css]": {
"editor.defaultFormatter": "michelemelluso.code-beautifier"
},
//eslint 代碼自動檢查相關配置
"eslint.enable": true,
"eslint.run": "onType",
"eslint.options": {
"extensions": [".js", ".vue"]
},
"eslint.validate": [
"javascriptreact",
"javascript",
{
"language": "vue",
"autoFix": true
},
"html",
{
"language": "html",
"autoFix": true
}
],
"vetur.format.defaultFormatterOptions": {
"prettier": {
"semi": false,
"singleQuote": true
}
}
}