在项目工程的根目录下,经常能看到一个.editorconfig文件,那么这个文件是干嘛的呢?
一、.editorconfig是什么文件
.editorconfig是帮助开发人员在不同的编辑器和IDE之间定义和维护一致的编码样式规范的工具。
.editorconfig 不光可以检验 js 文件的代码风格,还可以对 .py(python 文件)、.md(markdown 文件)进行代码风格控制。
二、配置文件示例
井号(#)或分号(;)被用作于注释. 注释需要与注释符号写在同一行。
#控制.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 = 6
#同上
[MakeFile]
indent_style = tab
tab_width = 4
[lib/**.js]
indent_style = space
indent_size = 2
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2
通配符
*
匹配除/之外的任意字符串**
匹配任意字符串?
匹配任意单个字符[name]
匹配name中的任意一个单一字符[!name]
匹配不存在name中的任意一个单一字符{s1,s2,s3}
匹配给定的字符串中的任意一个(用逗号分隔){num1..num2}
匹配num1到num2之间的任意一个整数, 这里的num1和num2可以为正整数也可以为负整数
三、注意事项
EditorConfig配置文件从上往下读取,并且路径最近的文件最后被读取。匹配的配置属性按照属性应用在代码上,所以最接近代码文件的属性优先级最高。
Windows 用户:在资源管理器创建.editorconfig文件,可以先创建.editorconfig.文件,系统会自动重名为.editorconfig。
不是每种插件都支持所有的属性
indent_style
:tab为hard-tabs,space为soft-tabs。indent_size
:设置整数表示规定每级缩进的列数和soft-tabs的宽度(空格数)。如果设定为tab,则会使用tab_width的值(如果已指定)。tab_width
:设置整数用于指定替代tab的列数。默认值就是indent_size的值,一般无需指定。end_of_line
:定义换行符,支持lf、cr和crlf。charset
:编码格式,支持latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建议使用uft-8-bom。trim_trailing_whitespace
:设为true表示会除去换行行首的任意空白字符,false反之。insert_final_newline
:设为true表明使文件以一个空白行结尾,false反之。root
:表明是最顶层的配置文件,发现设为true时,才会停止查找。
目前所有的属性名和属性值都是大小写不敏感的。编译时都会将其转为小写。
评论区