vue項(xiàng)目配置eslint保存自動(dòng)格式化問題
vue配置eslint保存自動(dòng)格式化
vue項(xiàng)目中有保存自動(dòng)格式化,還是很舒服的,滿足了大多數(shù)強(qiáng)迫癥
1,用戶設(shè)置和工作區(qū)設(shè)置
2,如何找到配置文件
3,setting.json
4,需要安裝的插件
5,設(shè)置默認(rèn)格式化程序
在VSCode中,兩個(gè)層級(jí)的設(shè)置分別為:
- 用戶設(shè)置:應(yīng)用于所有工作區(qū)的全局設(shè)置。
- 工作區(qū)設(shè)置:只對(duì)當(dāng)前工作區(qū)有效的設(shè)置。
- 相比之下,工作區(qū)設(shè)置具有更高的優(yōu)先級(jí),即當(dāng)工作區(qū)設(shè)置與用戶設(shè)置相沖突時(shí),以工作區(qū)設(shè)置為準(zhǔn),但是一個(gè)用戶設(shè)置就夠了
如何找到配置文件位置
- 方法一:Ctrl + Shift + P 然后搜索 Preferences: Open Settings (UI)
- 方法二:Ctrl + Shift + P 然后搜索 Preferences: Open Settings (JSON)
setting.json配置
最重要的代碼,就下面的,其他的都可以根據(jù)自己實(shí)際開發(fā)去設(shè)置
? // #每次保存的時(shí)候自動(dòng)格式化 ? "editor.formatOnSave": true, ? "editor.formatOnType": true, ? // #每次保存的時(shí)候?qū)⒋a按eslint格式進(jìn)行修復(fù) ? "eslint.autoFixOnSave": true, ? "eslint.format.enable": true,
這個(gè)是我百度貼了一些上去
{ ? // vscode默認(rèn)啟用了根據(jù)文件類型自動(dòng)設(shè)置tabsize的選項(xiàng) ? "editor.detectIndentation": false, ? // 重新設(shè)定tabsize ? "editor.tabSize": 2, ? // #每次保存的時(shí)候自動(dòng)格式化 ? "editor.formatOnSave": true, ? "editor.formatOnType": true, ? // #每次保存的時(shí)候?qū)⒋a按eslint格式進(jìn)行修復(fù) ? "eslint.autoFixOnSave": true, ? "eslint.format.enable": true, ? // 添加 vue 支持 ? "eslint.validate": [ ? ? "javascript", ? ? "javascriptreact", ? ? { ? ? ? "language": "vue", ? ? ? "autoFix": true ? ? } ? ], ? // ?#讓prettier使用eslint的代碼格式進(jìn)行校驗(yàn) ? "prettier.eslintIntegration": true, ? // ?#去掉代碼結(jié)尾的分號(hào) ? "prettier.semi": false, ? // ?#使用帶引號(hào)替代雙引號(hào) ? "prettier.singleQuote": true, ? // ?#讓函數(shù)(名)和后面的括號(hào)之間加個(gè)空格 ? "javascript.format.insertSpaceBeforeFunctionParenthesis": true, ? // #這個(gè)按用戶自身習(xí)慣選擇 ? "vetur.format.defaultFormatter.html": "js-beautify-html", ? // #讓vue中的js按編輯器自帶的ts格式進(jìn)行格式化 ? "vetur.format.defaultFormatter.js": "vscode-typescript", ? "vetur.format.defaultFormatterOptions": { ? ? "js-beautify-html": { ? ? ? "wrap_attributes": "force-aligned" ? ? ? // #vue組件中html代碼格式化樣式 ? ? } ? }, ? // 格式化stylus, 需安裝Manta's Stylus Supremacy插件 ? "stylusSupremacy.insertColons": false, // 是否插入冒號(hào) ? "stylusSupremacy.insertSemicolons": false, // 是否插入分好 ? "stylusSupremacy.insertBraces": false, // 是否插入大括號(hào) ? "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否換行 ? "stylusSupremacy.insertNewLineAroundBlocks": false, ? "editor.fontSize": 18, ? "[vue]": { ? ? "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" ? }, ? "editor.codeActionsOnSave": { ? ? "source.fixAll.eslint": true ? }, ? "bracketPairColorizer.depreciation-notice": false // 兩個(gè)選擇器中是否換行 }
需要安裝的vscode插件
- Eslint
- Prettier ESLint
- Vetur
選擇自動(dòng)格式化程序
停留在頁面,然后右鍵—選擇使用xxx格式化文檔,然后出現(xiàn)下方圖片
這樣,就能實(shí)現(xiàn)保存代碼的時(shí)候自動(dòng)格式化啦
插件實(shí)現(xiàn)按照 ESLint 規(guī)則自動(dòng)格式化
1. 需求插件
- ESLint (讀取 ESLint 配置文件進(jìn)行語法檢測(cè))
- Prettier ESLint(按照 ESLint 配置文件進(jìn)行格式化)
2. 修改默認(rèn)格式化插件
2.1 找到任意代碼文件 右鍵點(diǎn)擊代碼區(qū)域 選擇「使用…格式化文檔」
2.2 選擇「配置默認(rèn)格式化程序」
2.3 選擇「Prettier ESLint」
到此,已經(jīng)可以實(shí)現(xiàn)「Alt + Shift + F」進(jìn)行自動(dòng)格式化啦!
3. 「Ctrl + S」保存時(shí)按照 ESLint 規(guī)則自動(dòng)格式化
3.1 找到菜單欄的文件 -> 首選項(xiàng) -> 設(shè)置
3.2 點(diǎn)擊用戶區(qū)的設(shè)置 JSON 圖標(biāo) 打開 JSON 文件
注意: 工作區(qū)和用戶區(qū)的區(qū)別
用戶區(qū):應(yīng)用于當(dāng)前操作系統(tǒng)用戶,只要是在當(dāng)前電腦上開發(fā),任意項(xiàng)目都會(huì)生效該配置(慎重修改)
工作區(qū):只應(yīng)用于當(dāng)前項(xiàng)目,如果更換項(xiàng)目配置會(huì)失效
3.3 將以下配置粘貼進(jìn)設(shè)置 JSON 文件中
{ "eslint.enable": true, "eslint.run": "onType", "eslint.options": { "extensions": [ ".js", ".vue", ".jsx", ".tsx" ] }, "editor.codeActionsOnSave": { "source.fixAll.eslint": true } }
3.4 粘貼后如下圖
到此為止,即可實(shí)現(xiàn)保存自動(dòng)格式化 。
注意: 如果格式化并未按照 ESLint 規(guī)則進(jìn)行,需要將其他所有格式化插件卸載!例如:Beautify、xxxFormatxxx
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue3使用Pinia修改state的三種方法(直接修改,$patch,actions)
Vue3?Pinia是一個(gè)狀態(tài)管理庫,專門為Vue3設(shè)計(jì)優(yōu)化,它提供了一種簡(jiǎn)單而強(qiáng)大的方式來管理應(yīng)用程序的狀態(tài),并且與Vue3的響應(yīng)式系統(tǒng)緊密集成,本文給大家介紹了vue3使用Pinia修改state的三種方法,需要的朋友可以參考下2024-03-03Vue?3?中動(dòng)態(tài)賦值?ref?的應(yīng)用示例解析
Vue3引入了Composition?API,其中ref是核心概念,允許開發(fā)者聲明響應(yīng)式狀態(tài),本文通過一個(gè)具體示例,探討了在Vue3中如何使用ref進(jìn)行動(dòng)態(tài)賦值,尤其是在處理DOM相關(guān)操作時(shí)的應(yīng)用,通過ref動(dòng)態(tài)賦值,可以有效管理組件內(nèi)的狀態(tài),提高代碼的可維護(hù)性和清晰度2024-09-09vue項(xiàng)目安裝scss常見報(bào)錯(cuò)處理方式
這篇文章主要介紹了vue項(xiàng)目安裝scss常見報(bào)錯(cuò)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09Avue實(shí)現(xiàn)動(dòng)態(tài)查詢與數(shù)據(jù)展示的示例代碼
Avue是一個(gè)基于Vue.js的前端框架,它是由阿里云開發(fā)的一款企業(yè)級(jí)UI組件庫,旨在提供一套全面、易用且高性能的界面解決方案本文介紹了Avue實(shí)現(xiàn)動(dòng)態(tài)查詢與數(shù)據(jù)展示的示例,需要的朋友可以參考下2024-08-08Vue3中的?computed,watch,watchEffect的使用方法
這篇文章主要介紹了Vue3中的?computed,watch,watchEffect的使用方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)價(jià)值,需要得小伙伴可以參考一下2022-06-06vue2.0+vuex+localStorage代辦事項(xiàng)應(yīng)用實(shí)現(xiàn)詳解
本篇文章給大家分享了一個(gè)用vue2.0+vuex+localStorage代辦事項(xiàng)應(yīng)用實(shí)現(xiàn)的代碼過程,有興趣的朋友跟著參考學(xué)習(xí)下。2018-05-05