VSCode中 Eslint 和 Prettier 沖突問(wèn)題最新解決方法
前言
本次環(huán)境皆為 @vue/cli默認(rèn)安裝帶有的 eslint@7.32.0,VSCode 插件版本:
Eslint v2.4.0Prettier v9.10.4
為什么會(huì)沖突
首先我們需要知道為什么使用Eslint 和 Prettier,下面先介紹兩者的單獨(dú)用法
Eslint
Javascript Vue Typescript 等文件的代碼規(guī)范檢測(cè)工具,當(dāng)代碼寫法不符合時(shí),會(huì)在終端進(jìn)行報(bào)錯(cuò)提醒,阻止你的serve服務(wù)。為了在 VSCode 中檢測(cè)到我們代碼不規(guī)范時(shí),能自動(dòng)修復(fù)錯(cuò)誤寫法,我們需要安裝 VSCode 的插件 ESLint

安裝后在 setting.json 中配置如下并重啟編輯器:
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}之后再編寫 js等文件保存時(shí)都會(huì)自動(dòng)格式化,保證 Eslint再也不會(huì)報(bào)錯(cuò)
Prettier
一種規(guī)范化的寫法規(guī)則,包含各種類型文件,其中部分Javascript 等規(guī)則,會(huì)和 Eslint不一樣,使用時(shí)只要在VSCode 中安裝Prettier插件即可

安裝后在 setting.json 中配置如下并重啟編輯器:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
}表示所有類型的文件的格式化都使用 Prettier
沖突
如果兩者都啟用,則因?yàn)橐?guī)則沖突,在JS等文件中,會(huì)出現(xiàn)保存時(shí),先運(yùn)行了ESLint,然后再運(yùn)行了 Prettier,導(dǎo)致 @eslint檢測(cè)依然報(bào)錯(cuò)
解決
既然使用 eslint規(guī)范,我的理解上當(dāng)然是不能去修改eslint,因?yàn)檫@是共用規(guī)范,修改了就沒(méi)有再使用的必要了,所以我是不推薦修改eslint的方式。
我的做法也很簡(jiǎn)單,在eslint作用的文件類型中,繼續(xù)使用eslint進(jìn)行格式化,在其他類型文件中,使用prettier進(jìn)行格式化
eslint繼續(xù)使用 codeActionsOnSave進(jìn)行設(shè)置,把 eslint作用范圍的文件類型的formatOnSave關(guān)閉
{
"editor.tabSize": 2,
// 開啟eslint
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
// 開啟自動(dòng)格式化
"editor.formatOnSave": true,
// 設(shè)置所有文件默認(rèn)格式化工具為prettier
"editor.defaultFormatter": "esbenp.prettier-vscode",
// eslint范圍內(nèi)的文件類型,關(guān)閉保存時(shí)格式化
"[javascript]": {
"editor.formatOnSave": false
},
"[typescript]": {
"editor.formatOnSave": false
},
"[vue]": {
"editor.formatOnSave": false
},
"[javascriptreact]": {
"editor.formatOnSave": false
}
}到此這篇關(guān)于VSCode如何保證 Eslint 和 Prettier 不沖突的文章就介紹到這了,更多相關(guān)VSCode內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript數(shù)組和對(duì)象的復(fù)制
本篇文章主要介紹了JavaScript數(shù)組和對(duì)象的復(fù)制的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03
基于JavaScript實(shí)現(xiàn)幸運(yùn)抽獎(jiǎng)頁(yè)面
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)幸運(yùn)抽獎(jiǎng)頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
JavaScript表單驗(yàn)證實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了JavaScript表單驗(yàn)證的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
解決給dom元素綁定click等事件無(wú)效問(wèn)題的方法
本文主要介紹了解決給dom元素綁定click等事件無(wú)效問(wèn)題的方法。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
javascript數(shù)組克隆簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了javascript數(shù)組克隆簡(jiǎn)單實(shí)現(xiàn)方法,實(shí)例分析了JavaScript中concat用于數(shù)組克隆的使用技巧,需要的朋友可以參考下2015-12-12
{}與function(){}選用空對(duì)象{}來(lái)存放keyValue
雖說(shuō)js里面什么都能當(dāng)對(duì)象,也能用填鴨式方法任意給對(duì)象添加屬性,屬性賦值.但是有些js內(nèi)置的對(duì)象,類型屬性也是沒(méi)辦法覆蓋的2012-05-05

