editconfig 常用配置
在团队开发中,统一的代码格式是必要的。但是不同开发人员的代码风格不同,代码编辑工具的默认格式也不相同,这样就造成代码的 differ
。而 editorConfig
可以帮助开发人员在不同的编辑器和 IDE 中定义和维护一致的编码风格
editorconfig
一个 editorconfig
文件例子,用于设置 Python
和 JavaScript
行尾和缩进风格的配置文件
# EditorConfig is awesome: http://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)
[*.js]
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
文件使用 INI 格式。斜杠 (/)
作为路径分隔符, #
或者 ;
作为注释。 EditorConfig
文件使用 UTF-8
格式、 CRLF
或 LF
作为换行符
通配符
* | 匹配除/之外的任意字符串 |
** | 匹配任意字符串 |
? | 匹配任意单个字符 |
[name ] | 匹配 name 字符 |
[!name] | 匹配非 name 字符 |
{s1,s2,s3} | 匹配任意给定的字符串(since 0.11.0) |
属性
indent_style | 设置缩进风格,tab 或者空格。tab 是 hard tabs,space 为 soft tabs。 |
indent_size | 缩进的宽度,即列数,整数。如果 indent_style 为 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,不建议使用 utf-8-bom。 |
trim_trailing_whitespace | 设为 true 表示会除去换行行首的任意空白字符。 |
insert_final_newline | 设为 true 表明使文件以一个空白行结尾 |
root | 表明是最顶层的配置文件,发现设为 true 时,才会停止查找.editorconfig 文件 |
例子
下面以 sublime text
为例,测试 editorconfig
是否起作用。首先需要给 sublime
安装 EditorConfig
插件,然后在项目的根目录新建文件” .editorconfig
“,内容如下
# EditorConfig is awesome: <a onclick="javascript:pageTracker._trackPageview('/outgoing/EditorConfig.org');" href="http://EditorConfig.org">http://EditorConfig.org</a>
# 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,html,css}]
charset = utf-8
# Tab indentation (no size specified)
[*.js]
indent_style = tab
tab_width = 50
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Web 联盟广告行业一些术语
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论