借助 EditorConfig 统一编码风格

是什么

EditorConfig 是一个插件,通过配置文件的形式(.editorconfig),有助于对同一项目的多个开发人员维护一致的编码样式,包括缩进、换行符、文件编码等。

安装

该插件在部分编辑器中已经捆绑(比如 IDEAPycharmWebstormVisual Studio 等),其它的则需要自行安装。

下面是一些主流编辑器的安装参考,其它详见官网。

配置

在项目根目录创建文件 .editorconfig,添加如下示例配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# editorconfig.org
root = true

# 匹配所有文件
[*]
# 缩进格式,space 或 tab
indent_style = space
# 缩进大小
indent_size = 2
# 当使用 tab 缩进时的大小
#tab_width = 2
# 换行符,可选 lf、cr、crlf
end_of_line = lf
# 文件默认字符集
charset = utf-8
# 清除行尾空格
trim_trailing_whitespace = true
# 在保存时,文件底部保留一个空行
insert_final_newline = true

# 匹配以 .md 结尾的文件
[*.md]
trim_trailing_whitespace = false

# 匹配以 .php、.py、.java 结尾的文件
[*.{php,py,java}]
indent_size = 4

[Makefile]
indent_style = tab

其中:

通配符 说明
* 匹配除路径分隔符(/)之外的任何字符串
** 匹配任何字符串
? 匹配任何单个字符
[name] 匹配名称中的任何单个字符
[!name] 匹配任何不在名称中的单个字符
{s1,s2,s3} 匹配给定的任何字符串(以逗号分隔)
{num1..num2} 匹配num1和num2之间的任何整数,其中num1和num2可以是正数或负数

更多详细功能,参见官网 https://editorconfig.org/