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,细则交给格式化工具,两边不要互相矛盾。
基础约定统一之后,差异视图里剩下的才是真正需要判断的改动。
在评审中的用法:行尾符或缩进造成的整文件差异,先怀疑编辑器配置,而不是要求作者逐行改回来。
与格式化工具的缩进设置不一致:保存时反复转换,差异噪声不断。