其实我不是很喜欢去研究编辑器配置的,但是最近感觉一直有个问题困扰我,就是打开的项目,我编辑的时候明明修改了底部空格为4,但是后面再打开有时候又变成了2个空格,而且影响原来的代码排版
也就是当我编辑文件的时候,我不喜欢2个空格的缩进,就改成了4个空格,但有时候打开编辑这个文件的时候它神奇的变回了原来的2个空格缩进,再经过一系列调整后回到4个空格了,偶尔的时候又发现变回2个空格了
这个问题起初项目不大,代码不多也就没有在意,在项目越来越大,代码量也越来越大之后,发现格式被这样改变非常头疼,让我自己看自己代码都很别扭,于是决定找到问题的原因
在经过几次反复实验后终于确定了问题的起因
-
在经过研究后锁定了问题产生的地方
就是vscode文本编辑器下的Editor: Detect Indentation 这个选项
这个选项的作用就是会自动检测文件中的格式,并且这个设置会直接覆盖Editor: Tab Size和Editor: Insert Space的配置项
经过我反复试验,终于发现了造成这种情况的原因,出现这个问题的原因有两个:
a. 代码本身规范问题,如果勾选了Editor: Detect Indentation选项,则只要有满足条件为2个空格的代码行就会使整个项目的缩进都变成2个空格,底部也自动变成2个空格,原来缩进4个空格的地方就自动前面让出了2个空格,使代码特别丑
b. 主要还是勾选了Editor: Detect Indentation选项,然后又没有配置自动格式化,容易产生上述问题-
解决方案,如果不喜欢使用自动格式化工具的话直接去掉Editor: Detect Indentation选项就行了
个人更好的方案
-
在用脚手架工具创建项目的时候,在Eslint选项中选择 Eslint + Stabdard config选项
然后项目根目录中国就会出现.editorconfig这个文件,默认的indent_size = 2,这里改成4就行了,也不需要因为第一种方案改变了其他项目的格式风格