跳到主要内容

使用 EditorConfig 统一编码风格

· 阅读需 3 分钟

简介

EditorConfig 配置文件被许多优秀的代码编辑器默认支持,只要.editorconfig文件存在于项目的根目录下,它就会被编辑器读取并应用。

将项目文件格式写入名为.editorconfig的配置文件,如文件编码、换行风格、缩进风格等,以便多个开发人员在项目里保持一致的编码风格。

示例

# EditorConfig is awesome: https://EditorConfig.org

root = true

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

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

#标注注释;

配置可以分段,在[]之中声明要匹配的文件,可以用{}来声明多种匹配规则,用英文逗号,分隔这些规则;

  1. *,匹配任意字符串,除了/
  2. **,匹配任意字符串;
  3. ?,匹配单个字符;
  4. [name],匹配name中的任意单个字符,即name
  5. [!name],匹配不出现在name中的单个字符;
  6. {s1, s2, s3},联合多个匹配;
  7. {1..9},匹配任意19之间的数字。

key=value的形式定义属性,常用的一些属性如下。

配置项可选值备注
indent_styletab/space缩进风格
indent_size数字空格缩进数量
end_of_linelf/cr/crlf换行符风格
charsetutf-8/...文件编码
trim_trailing_whitespacetrue/false移除行尾空白字符
insert_final_newlinetrue/false文件永远以空行结尾
roottrue/false该属性表名此配置文件是最顶层的配置文件,不会再往上层寻找配置文件了

可以在每个文件夹层级都定义配置文件,在进行格式化文件的时候,EditorConfig 1 会从当前目录至上级目录一直寻找.editorconfig文件,直到文件系统的根目录或者到某个包含root=true的配置文件为止。最终生效的配置文件是将所有寻找到的配置文件合并后的结果,路径短的配置内容会覆盖路径长的配置内容。