目录
EditorConfig简介
- EditorConfig帮助维护跨多个编辑器和IDE的同一个项目的多个开发人员的一致编码风格;
- EditorConfig项目包括一个用于定义编码样式的文件格式和一个文本编辑器插件集合,这些文本编辑器插件使编辑器可以读取文件格式并遵循定义的样式;
- EditorConfig文件易于阅读,并且可以与版本控制系统很好地协同工作。
EditorConfig样例
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,py}]
charset = utf-8
# 4 space indentation
[*.py]
indent_style = space
indent_size = 4
# Tab indentation (no size specified)
[Makefile]
indent_style = tab
# Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2
# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2
文件存储位置
- 打开文件时,EditorConfig插件会
.editorconfig
在打开的文件的目录和每个父目录中查找一个名为的文件。.editorconfig
如果到达根文件路径或root=true
找到带有的EditorConfig文件,则文件搜索将停止。- 从顶部到底部读取EditorConfig文件,并以发现的最新规则为准。匹配的EditorConfig部分中的属性将按读取顺序应用,因此,较近文件中的属性优先。
- 对于Windows用户:要
.editorconfig
在Windows资源管理器中创建文件,您需要创建一个名为的文件.editorconfig.
,Windows资源管理器会自动将其重命名为.editorconfig
。
文件格式详细信息
EditorConfig文件使用INI格式与所使用的格式兼容的Python ConfigParser库,但
[
并]
允许在部分名字。这些部分的名称是文件路径glob(区分大小写),类似于gitignore接受的格式。仅将正斜杠(
/
,而不是反斜杠)用作路径分隔符,并使用八边形(#
)或分号(;
)进行注释。评论应以自己的方式写。EditorConfig文件应采用UTF-8编码,并带有CRLF
或LF
行分隔符。从顶部到底部读取EditorConfig文件,并以发现的最新规则为准。
EditorConfig属性说明
* | 匹配任何字符串,路径分隔符(/ )除外 |
** | 匹配任何字符串 |
? | 匹配任何单个字符 |
[name] | 匹配名称中的任何单个字符 |
[!name] | 匹配名称以外的任何单个字符 |
{s1,s2,s3} | 匹配给定的任何字符串(以逗号分隔)(从EditorConfig Core 0.11.0开始可用) |
{num1..num2} | 匹配num1和num2之间的任何整数,其中num1和num2可以是正数或负数 |
indent_style | 设置为制表符或空格以分别使用硬制表符或软制表符 |
indent_size | 一个整数,定义用于每个缩进级别的列数和软标签的宽度(如果支持)。设置为tab时,tab_width 将使用(如果指定)值 |
tab_width | 一个整数,用于定义用于表示制表符的列数。该默认值为,indent_size 通常不需要指定 |
end_of_line | 设置为lf,cr或crlf来控制换行符的表示方式。
|
trim_trailing_whitespace | 设置为true会删除换行符之前的所有空白字符,而设置为false会确保不会删除任何空白字符 |
insert_final_newline | 设置为true以确保文件在保存时以换行符结尾,设置为false以确保不以换行符结尾 |
root | 特殊属性,应在任何部分之外的文件顶部指定。设置为true可停止.editorconfig 在当前文件上搜索文件 |