其實(shí)我不是很喜歡去研究編輯器配置的蚜枢,但是最近感覺一直有個(gè)問題困擾我,就是打開的項(xiàng)目针饥,我編輯的時(shí)候明明修改了底部空格為4厂抽,但是后面再打開有時(shí)候又變成了2個(gè)空格,而且影響原來的代碼排版
也就是當(dāng)我編輯文件的時(shí)候丁眼,我不喜歡2個(gè)空格的縮進(jìn)筷凤,就改成了4個(gè)空格,但有時(shí)候打開編輯這個(gè)文件的時(shí)候它神奇的變回了原來的2個(gè)空格縮進(jìn)苞七,再經(jīng)過一系列調(diào)整后回到4個(gè)空格了藐守,偶爾的時(shí)候又發(fā)現(xiàn)變回2個(gè)空格了
這個(gè)問題起初項(xiàng)目不大挪丢,代碼不多也就沒有在意,在項(xiàng)目越來越大卢厂,代碼量也越來越大之后乾蓬,發(fā)現(xiàn)格式被這樣改變非常頭疼,讓我自己看自己代碼都很別扭足淆,于是決定找到問題的原因
在經(jīng)過幾次反復(fù)實(shí)驗(yàn)后終于確定了問題的起因
-
在經(jīng)過研究后鎖定了問題產(chǎn)生的地方
就是vscode文本編輯器下的Editor: Detect Indentation 這個(gè)選項(xiàng)
這個(gè)選項(xiàng)的作用就是會自動檢測文件中的格式巢块,并且這個(gè)設(shè)置會直接覆蓋Editor: Tab Size和Editor: Insert Space的配置項(xiàng)
經(jīng)過我反復(fù)試驗(yàn),終于發(fā)現(xiàn)了造成這種情況的原因巧号,出現(xiàn)這個(gè)問題的原因有兩個(gè):
a. 代碼本身規(guī)范問題族奢,如果勾選了Editor: Detect Indentation選項(xiàng),則只要有滿足條件為2個(gè)空格的代碼行就會使整個(gè)項(xiàng)目的縮進(jìn)都變成2個(gè)空格丹鸿,底部也自動變成2個(gè)空格越走,原來縮進(jìn)4個(gè)空格的地方就自動前面讓出了2個(gè)空格,使代碼特別丑
b. 主要還是勾選了Editor: Detect Indentation選項(xiàng)靠欢,然后又沒有配置自動格式化廊敌,容易產(chǎn)生上述問題-
解決方案,如果不喜歡使用自動格式化工具的話直接去掉Editor: Detect Indentation選項(xiàng)就行了
個(gè)人更好的方案
-
在用腳手架工具創(chuàng)建項(xiàng)目的時(shí)候门怪,在Eslint選項(xiàng)中選擇 Eslint + Stabdard config選項(xiàng)
然后項(xiàng)目根目錄中國就會出現(xiàn).editorconfig這個(gè)文件骡澈,默認(rèn)的indent_size = 2,這里改成4就行了掷空,也不需要因?yàn)榈谝环N方案改變了其他項(xiàng)目的格式風(fēng)格