折腾用vscode开发vue项目的代码格式化
前端项目如果多人协作,都希望格式统一,并且能编辑的时候自动格式化。
所以做了下面这样的操作:
- 安装vetur+prettier插件
- 配置vscode的保存自动格式化
- 在vetur插件中配置js文件的格式工具为prettier
理论上来说,prettier应该按照一定的规则格式化代码了。
问题就出现在这个规则中,有好几个地方配置,也有优先级。
优先级是
- 项目目录的
.prettierrc
文件,支持json和分号格式(其实还有很多种) - 项目目录的
.editorconfig
文件(默认配置) - vscode的配置文件(也有好几个地方配置,包括
vetur
节点下面)
如果有项目中的配置文件存在,vscode的配置文件则不会被读取
问题就出现在如果项目中只有.editorconfig
文件,但是不完整,比如没有指定字符串是单引号还是双引号,行尾要不要分号,不会从vscode中读配置了,而是从prettier的默认配置中读取。
最大的问题就是,prettier的默认配置是双引号加分号,editorconfig的配置项,并没有去除行尾分号的设定,所以我想单引号、去除分号就没办法实现了。
这就很忧伤了。
搜了下,GitHub上这位老哥也有这个困扰,希望prettier能够读完.editorconfig
后再读vscode
配置,而不是用默认配置。
最后给的建议是每个项目都配一个.prettierrc
文件,并且写完所有配置项。
哦,还有一种解决方案是配置prettier
,取消读取editorconfig
"prettier.useEditorConfig": false