在项目里,大多时候都能看到.editorconfig文件,刚开始总是忽视掉它,认为它不太重要。但是,它的存在,必定有它的理由,于是,抽空来研究一下,它是什么,能做什么。
官网是这么介绍EditorConfig的,“EditorConfig帮助开发人员在不同的编辑器和IDE之间定义和维护一致的编码样式。
EditorConfig项目由用于定义编码样式的文件格式和一组文本编辑器插件组成,这些插件使编辑器能够读取文件格式并遵循定义的样式。
EditorConfig文件易于阅读,并且与版本控制系统配合使用。” 不同的开发人员,不同的编辑器,有不同的编码风格,而EditorConfig就是用来协同团队开发人员之间的代码的风格及样式规范化的一个工具,而.editorconfig正是它的默认配置文件。
# 告诉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
# 以下匹配,类同
[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
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 36 37 38 39 40 41 42 43 44 45 46 47 48 |
root = true [*] charset=utf-8 end_of_line=crlf trim_trailing_whitespace=true insert_final_newline=true indent_style=space indent_size=2 [{*.ng,*.sht,*.html,*.shtm,*.shtml,*.htm,*.wxml}] indent_style=space tab_width=2 [{*.cql,*.ddl,*.sql}] indent_style=space indent_size=2 [*.less] indent_style=space indent_size=2 [*.sass] indent_style=space indent_size=2 [*.scss] indent_style=space indent_size=2 [{*.lbi,*.js}] indent_style=tab tab_width=2 [{*.phtml,*.module,*.php,*.php5,*.php4,*.hphp,*.inc}] indent_style=space tab_width=2 [{*.cjsx,*.coffee}] indent_style=space indent_size=2 [{*.wpy,*.vue}] indent_style=tab tab_width=2 [{*.yaml,*.yml}] indent_style=space indent_size=2 |