信息发布→ 登录 注册 退出

VSCode中的代码格式化:Prettier与EditorConfig

发布时间:2025-12-25

点击量:
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 .),防止不规范代码合入主干。

基本上就这些——配置一次,后续写代码时几乎不用操心格式问题。

标签:# for  # 里也  # 它不  # 用了  # 它是  # 要不要  # 让人  # 重写  # 换行  # 编辑器  # ide  # 对象  # format  # vue  # if  # 为什么  # vs code  # 微软  # ai  # 工具  # 编码  # json  # markdown  # js  # vscode  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!