前端項目如果多人協作,都希望格式統一,並且能編輯的時候自動格式化。
所以做了下面這樣的操作:
- 安裝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