接手一个 Vue 项目,保存时格式化,模板里的属性全挤成一行,脚本缩进变成两格,跟仓库里其他文件对不上。翻设置翻了半小时,最后发现装了两个格式化插件在打架。
先清点装了哪些
打开扩展面板,搜关键词,看启用了几个能格式化 Vue 文件的。两个工具同时处理一个文件,结果取决于谁最后执行,很容易乱,而且每次打开顺序可能不同。
留一个主力,其余禁用。团队里统一用哪个,配置就按哪个写,别各人一套。
让编辑器知道该交给谁
设置里搜默认格式化程序,选一个。这一步不做,编辑器遇到多个可用工具时会弹窗让你选,或者干脆不动。
再把保存时自动格式化打开。有人担心保存太频繁会卡,实际上单文件格式化很快,卡多半是插件同时在跑别的检查。
配置项里最常改的几项
- 缩进宽度,团队一般两格或四格,统一就行;
- 是否使用单引号,前端项目多数选是;
- 行尾是否加分号,跟着现有代码走,别创新;
- 每行最大宽度,超过就换行,一百左右常见;
- 模板里属性的换行策略,一行一个还是挤在一起。
属性换行这一项对 Vue 影响最大。属性少时挤一行好读,属性多时一行一个更好比对,这个不统一,评审里全是格式噪音。
配置文件放哪里
放在项目根目录,跟着仓库提交。这样换机器、换同事都不用重配。放个人编辑器设置里,只能管自己,团队里等于没有。
有格式化工具自己在根目录的配置文件,也有编辑器自己的设置文件,两个都可能存在。冲突时以项目里的为准,先看项目有没有,别急着自己加。
保存不生效怎么查
先看右下角状态栏有没有报错图标。格式化工具报错时,保存会静默失败,什么提示都没有。
再看这个文件是不是在忽略列表里,有些项目配了忽略规则,把你的目录排除掉了。再确认工作区设置没被用户设置覆盖,两层冲突时工作区优先,但看着容易混。
跟团队对齐比好看重要
格式化的意义是不在评审里争空格和换行。提交前跑一次全量格式化,避免某次提交混进几百行纯格式改动,把真正的逻辑变更埋掉。这个习惯比挑哪个插件值钱。
有些项目在提交前用钩子跑一遍检查,本地没格式化对,提交直接被拦,报错还很长,第一次遇到容易慌。