首页/开发/代码质量与评审速查/EditorConfig:跨编辑器基础统一
规范与静态检查65 条

EditorConfig:跨编辑器基础统一

EditorConfig(.editorconfig)统一文件级基础约定:缩进风格与宽度、行尾、字符集、行尾空白、文件末尾换行,主流编辑器原生或插件支持。

EditorConfig 是什么

EditorConfig 通过一份配置文件统一文件级的基础约定:缩进风格与宽度、行尾符、字符集、是否保留行尾空白、文件末尾是否加换行。主流编辑器原生支持或通过插件支持,配置就近生效,越靠近文件的配置优先级越高。

基本信息

常用键缩进风格与宽度、行尾符、字符集、行尾空白、末尾换行
生效规则就近读取,向上查找直到遇到根标记
编辑器支持主流编辑器原生或插件支持
职责边界只管基础项,细节风格交给格式化工具

典型使用场景

  • 多语言仓库:按文件类型设置不同缩进宽度
  • 跨平台协作:统一行尾符,避免整文件级别的差异
  • 新人上手:编辑器自动按规范缩进,减少手工调整
  • 与格式化工具配合:基础约定对齐,减少格式抖动
  • 老仓库梳理:先用它统一行尾与文件末尾换行

写配置的注意点

  • 根标记只在仓库根目录写一次
  • 键名拼写错误时编辑器静默忽略,要核对生效情况
  • 与格式化工具的缩进设置保持一致
  • 按文件类型分段覆盖,避免全局一刀切

配置示例

配置示例
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4

[*.{js,ts,json}]
indent_size = 2

常用键与作用

键作用
缩进风格与宽度决定保存时用空格还是制表符
行尾符跨平台统一,避免整文件差异
字符集通常统一为 UTF-8
行尾空白与末尾换行减少无意义的差异记录

在评审中怎么用

  • 整文件级别的差异,先查缩进与行尾配置
  • 配置改动与代码改动分开提交
  • 新语言目录纳入之前先补对应段落
  • 编辑器设置差异写进新人上手指引
分工要记清:基础项交给 EditorConfig,细则交给格式化工具,两边不要互相矛盾。
基础约定统一之后,差异视图里剩下的才是真正需要判断的改动。
在评审中的用法:行尾符或缩进造成的整文件差异,先怀疑编辑器配置,而不是要求作者逐行改回来。
与格式化工具的缩进设置不一致:保存时反复转换,差异噪声不断。

易错点

  • 编辑器缺少支持插件:文件被制表符与空格混写
  • 与格式化工具的缩进设置不一致:保存时反复转换
  • 键名拼错:编辑器静默忽略,配置看起来存在却没有生效
  • 在子目录重复写根标记:向上查找被截断,外层约定失效

数据来源与参考

  • EditorConfig 官网(editorconfig.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌