【工具】EditorConfig配置说明
Jan 7, 2021工具IDEEditorConfig配置说明
- 配置文件:
.editorconfig
- 官网说明:https://editorconfig.org/
EditorConfig用来协同团队开发人员之间的代码的风格及样式规范化的一个工具,
帮助开发人员在不同的编辑器和IDE之间定义和维护一致的编码样式。EditorConfig项目由用于定义编码样式的文件格式和一组文本编辑器插件组成,这些插件使编辑器能够读取文件格式并遵循定义的样式。EditorConfig文件易于阅读,并且与版本控制系统配合使用。
使用
各详细字段可见:https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties
示例: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
31
32
33
34
35# 控制 .editorconfig 是否生效的字段
root = true
# 匹配全部文件
[*]
# 结尾换行符,可选"lf"、"cr"、"crlf"
end_of_line = lf
# 在文件结尾插入新行
insert_final_newline = true
# 删除一行中的前后空格
trim_trailing_whitespace = true
# 匹配js和py结尾的文件
[*.{js,py}]
# 设置字符集
charset = utf-8
# 匹配py结尾的文件
[*.py]
# 缩进风格,可选"space"、"tab"
indent_style = space
# 缩进的空格数
indent_size = 4
[*.md]
trim_trailing_whitespace = false
# 以下匹配,类同
[Makefile]
indent_style = tab# tab的宽度tab_width = 4
# 以下匹配,类同
[lib/**.js]
indent_style = space
indent_size = 2
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2
文件语法
editorConfig配置文件需要是UTF-8字符集编码的, 以回车换行或换行作为一行的分隔符。
斜线(/
)被用作为一个路径分隔符,井号(#
)或分号(;
)被用作于注释. 注释需要与注释符号写在同一行。
通配符
1 | * 匹配除/之外的任意字符串 |
属性
所有的属性和值都是忽略大小写的. 解析时它们都是小写的。
1 | indent_style 设置缩进风格(tab是硬缩进,space为软缩进) |
使用 Eslint 做代码 lint,那么为什么还要使用 .editorconfig 呢?
Eslint 和 .editorconfig 并不冲突,同时配合使用可以使代码风格更加优雅。
- Eslint 确实包含
.editorconfig
中的一些属性,如缩进等,但并不全部包含,如.editorconfig
中的insert_final_newline
属性 Eslint 就没有。Eslint 更偏向于对语法的提示,如定义了一个变量但是没有使用时应该给予提醒。而.editorconfig
更偏向于代码风格,如缩进等。 - Eslint 仅仅支持对 js 文件的校验,而
.editorconfig
不光可以检验 js 文件的代码风格,还可以对 .py(python 文件)、.md(markdown 文件)进行代码风格控制。
VSCode
- vscode的说明文章:https://docs.microsoft.com/zh-cn/visualstudio/ide/create-portable-custom-editor-options?view=vs-2022
需要留意的是,vscode支持的属性如下:
1 | indent_style |
Author
My name is Micheal Wayne and this is my blog.
I am a front-end software engineer.
Contact: michealwayne@163.com