VSCode中Prettier与EditorConfig配合最稳:前者重写式格式化代码样式,后者统一编辑器基础行为,二者分工互补。需安装对应插件、配置.editorconfig和.prettierrc,并设Prettier为默认格式化工具。

VSCode里代码格式化靠Prettier和EditorConfig配合最稳——前者负责具体样式(比如分号、引号、括号换行),后者统一基础编辑器行为(比如缩进大小、换行符类型)。两者不冲突,反而互补。
为什么需要同时用Prettier和EditorConfig
EditorConfig只管“编辑器层面”的约定,比如告诉VSCode:“这个项目用2个空格缩进、LF换行、UTF-8编码”。但它不决定代码长什么样——比如if后面要不要加空格、对象属性结尾要不要逗号,这些得靠Prettier。
Prettier是“重写式”格式化工具:它把代码解析成AST,再按规则输出全新格式。EditorConfig则只是给编辑器发指令,不碰代码逻辑。所以二者分工明确,一起用才能既统一协作习惯,又保证代码风格一致。
在VSCode中正确配置两者
- 装好插件:Prettier(官方扩展)和EditorConfig for VS Code(微软维护)
- 项目根目录放
.editorconfig,内容类似:[*] indent_style = space indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true
- 配Prettier:可建
.prettierrc(JSON/YAML)或直接在settings.json里写规则,例如:"prettier.singleQuote": true, "prettier.trailingComma": "es5", "prettier.bracketSpacing": true
- 关键一步:在VSCode设置中启用“保存时自动格式化”,并指定默认格式化工具为Prettier(右下角点击格式化工具图标可设)
避免常见冲突点
EditorConfig和Prettier都支持缩进、换行等设置,但优先级不同。Prettier会覆盖EditorConfig中它自己能控制的项(如indent_size),而EditorConfig仍主导VSCode本身的编辑行为(比如新建行时自动缩进几格)。
- 别在
.prettierrc里设tabWidth的同时,又在.editorconfig里设indent_size为不同值——虽然Prettier最终生效,但容易让人困惑 - 如果用了ESLint,建议加
eslint-config-prettier关掉所有和Prettier冲突的规则,再通过eslint-plugin-prettier把Prettier当ESLint规则跑 - 某些语言(如Vue、Markdown)需额外配Prettier插件(
prettier-plugin-vue等),否则格式化可能不生效
团队协作时的小提醒
EditorConfig文件必须提交到仓库,它是跨编辑器、跨IDE的通用契约;Prettier配置也建议提交,避免有人本地用默认配置导致格式化结果不一致。
可以加一条package.json脚本:"format": "prettier --write .",方便一键格式化整个项目。CI流程里也可以加校验步骤(prettier --check .),防止不规范代码合入主干。
基本上就这些——配置一次,后续写代码时几乎不用操心格式问题。










