@ghimi
2018-10-09T02:25:57.000000Z
字数 1515
阅读 1050
未分类
在团队开发中,同一的代码格式是必要的.但是不同开发人员的代码风格不同,代码编辑工具的默认格式也不相同,这样就造成代码的differ.而editorConfig可以帮助开发人员在不同的编辑器和IDE中定义和维护一致的编码风格.本文将详细介绍同一代码风格工具editorConfig
editorConfig 不是什么软件,而是一个名称为.editorConfig的自定义文件.该文件用来定义项目的编码规范,编辑器的行为会与.editorconfig 文件中定义的一致,并且其优先级比编辑器自身设置的要高,这在多人合作开发项目时十分有用而且有必要.webstorm;而有些编辑器则需要安装editorConfig插件,如ATOM,Sublime,VS Code等.EditorConfig插件会在打开文件的目录和其每一级父目录查找.editorconfig 文件,知道有一个配置文件 root = tureEditorConfig 的配置文件时从上往下读取的并且最近的 EditorConfig 配置文件会最先读取.匹配 EditorConfig 配置文件中的配置项会按照读取顺序被应用,所以最近的配置文件中的配置项会拥有优先权.editorconfig文件没有进行某些配置,则使用编辑器默认的配置editorConfig 配置文件需要是 UTF-8字符集编码的,以回车换行或换行作为一行的分隔符通配符
| 通配符 | 解释 |
|---|---|
| * | 匹配除 / 之外的任意字符串 |
| ** | 匹配任意字符串 |
| ? | 匹配任意单个字符 |
| [name] | 匹配name中的任意一个单一字符 |
| [!name] | 匹配不存在name中的任意一个单一字符 |
| {s1,s2,s3} | 匹配给定的字符串中的任意一个(用逗号分隔) |
| {num1..num2} | 匹配num1到num2之间的任意一个整数,这里的num1和num2可以为正整数也可以为负整数 |
属性
所有的属性和值都是忽略大小写的.解析时它们都是小写的
| 属性 | 解释 |
|---|---|
| indent_style | 设置缩进风格(tab是硬缩进,space为软缩进) |
| 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_whitespce | 设为 true 表示会去除换行行首的任意空白字符 |
| insert_final_newline | 设为 true 使文件以一个空白行结尾 |
| root | 表示是最顶层的配置文件,发现设为true时,才会停止查找 .editorconfig 文件 |
下面的实例中使用 4 个空格来缩进,并不是说按一下空格会自动打出 4 个空格来,也不是说要连按 4 下空格;而是按 tab 键时,编辑器会自动输出 4 个空格的宽度,而不是之前默认的制表符(\t)
# editorconig.orgroot = true[*]charset = utf-8indent_size = 4indent_style = spaceinsert_final_newline = truetrim_trailing_whitespace = true[*.md]trim_trailing_whitespace = false
