VSCode中 Eslint 和 Prettier 沖突問題最新解決方法
前言
本次環(huán)境皆為 @vue/cli
默認(rèn)安裝帶有的 eslint@7.32.0
,VSCode
插件版本:
Eslint v2.4.0
Prettier 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ī)范,修改了就沒有再使用的必要了,所以我是不推薦修改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制作sql轉(zhuǎn)換為stringBuffer的小工具
這篇文章主要介紹了javascript制作sql轉(zhuǎn)換為stringBuffer的小工具,使用方法很簡(jiǎn)單,吧寫好的sql語句只要格式化好之后放進(jìn)去就可以了,推薦給大家,有需要的小伙伴可以參考下。2015-04-04JS 非圖片動(dòng)態(tài)loading效果實(shí)現(xiàn)代碼
功能說明:譬如在按某個(gè)button時(shí),顯示消息"Loading”,然后每隔一秒后后面加上".",至一定數(shù)量的"."時(shí)如:"Loading...",再重置此消息為"Loading",繼續(xù)動(dòng)態(tài)顯示,直至按鈕事件處理完成。2010-04-04jQuery多項(xiàng)選項(xiàng)卡的實(shí)現(xiàn)思路附樣式及代碼
這篇文章主要介紹了jQuery多項(xiàng)選項(xiàng)卡的實(shí)現(xiàn)思路,需要的朋友可以參考下2014-06-06純JavaScript實(shí)現(xiàn)獲取onclick、onchange等事件的值
這篇文章主要介紹了JavaScript獲取onclick、onchange等事件的值的方法,需要的朋友可以參考下2014-12-12javascript實(shí)現(xiàn)動(dòng)態(tài)導(dǎo)入js與css等靜態(tài)資源文件的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)動(dòng)態(tài)導(dǎo)入js與css等靜態(tài)資源文件的方法,基于回調(diào)函數(shù)實(shí)現(xiàn)該功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07如何用JS模擬實(shí)現(xiàn)數(shù)組的map方法
這篇文章主要介紹了如何用JS模擬實(shí)現(xiàn)數(shù)組的map方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07Bootstrap教程JS插件滾動(dòng)監(jiān)聽學(xué)習(xí)筆記分享
這篇文章主要為大家分享了Bootstrap教程JS插件滾動(dòng)監(jiān)聽學(xué)習(xí)筆記,內(nèi)容很詳細(xì),感興趣的小伙伴們可以參考一下2016-05-05用Javascript數(shù)組處理多個(gè)字符串的連接問題
小技巧 用Javascript數(shù)組處理多個(gè)字符串的連接問題,大家可以參考下。2009-08-08JavaScript中誤用/g導(dǎo)致的正則test()無法正確重復(fù)執(zhí)行的解決方案
這篇文章主要介紹了JavaScript中誤用/g導(dǎo)致的正則test()無法正確重復(fù)執(zhí)行的解決方案的相關(guān)資料,需要的朋友可以參考下2016-07-07