简单来说,我们使用
EditorConfig工具就是为了统一代码的编程风格,并且提高代码阅读质量。
EditorConfig 是用于跨不同的编辑器和 IDE 为多个开发人员维护一致的编码风格的配置文件。EditorConfig 项目由定义编码样式的文件格式和一组文本编辑器插件组成,编辑器插件通过读取文件并以已定义的样式格式化指定文件。EditorConfig 文件具有友好的阅读性,且能与版本控制系统配合良好的特点。
EditorConfig 配置文件需要是 UTF-8 字符集编码的, 以回车换行或换行作为一行的分隔符,斜线(/)被用作为一个路径分隔符,井号(#)或分号(;)被用作于注释,并且注释需要与注释符号写在同一行。

1. 通配符
通配符和正则表达式中的基本一致
| 编号 | 通配符 | 对应含义说明 |
|---|---|---|
| 1 | * |
匹配除/之外的任意字符串 |
| 2 | ** |
匹配任意字符串 |
| 3 | ? |
匹配任意单个字符 |
| 4 | [name] |
匹配name中的任意一个单一字符 |
| 5 | [!name] |
匹配不存在name中的任意一个单一字符 |
| 6 | {s1,s2,s3} |
匹配给定的字符串中的任意一个(用逗号分隔) |
| 7 | {num1..num2} |
匹配num1到num2之间的任意一个整数 |
2. 属性介绍
所有的属性和值都是忽略大小写的
| 编号 | 通配符 | 对应含义说明 |
|---|---|---|
| 1 | indent_style |
设置缩进风格(tab是硬缩进和space为软缩进) |
| 2 | indent_size |
用一个整数定义的列数来设置缩进的宽度 |
| 3 | tab_width |
用一个整数来设置tab缩进的列数,默认是indent_size |
| 4 | end_of_line |
设置换行符,值为lf、cr和crlf |
| 5 | charset |
设置编码,通常设置为utf-8即可 |
| 6 | trim_trailing_whitespace |
设为true表示会去除换行行首的任意空白字符 |
| 7 | insert_final_newline |
设为true表示使文件以一个空白行结尾 |
| 8 | root |
表示是最顶层的配置文件 |
3. 配置示例
下面就是官网给出的配置示例
在当前项目根目录下添加 .editorconfig 文件,添加如下配置,即可生效。
# EditorConfig is awesome: https://EditorConfig.org
# 表示是最顶层的配置文件
# 发现设为true时,才会停止查找.editorconfig文件
root = true
# 对于所有的文件的配置
# 设置始终在文件末尾插入一个新行
[*]
end_of_line = lf
insert_final_newline = true
# 对于所有的JS和PY文件的配置
# 设置文件的字符集为utf-8格式
[*.{js,py}]
charset = utf-8
# 控制PY文件缩进类型和缩进大小
[*.py]
indent_style = space
indent_size = 4
# 设置Makefile文件使用tab缩进
[Makefile]
indent_style = tab
# 设置在lib目录下所有JS的缩进样式
[lib/**.js]
indent_style = space
indent_size = 2
# 设置确切文件package.json和.travis/.yml的缩进类型
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2