EditorConfig介绍

一、简介

在浏览GitHub代码时经常会看到.editorconfig文件,这个文件是起到什么作用的呢?

当多人团队进行一个项目开发时,每个人可能喜欢的编辑器不同,这个时候就需要使得用不同编辑器的开发者能够轻松惬意的遵守最基本的代码规范。

EditorConfig包含一个用于定义代码格式的文件和一批编辑器插件,这些插件是让编辑器读取配置文件并以此来格式化代码。能很好的“无痛”地解决上面问题。下面我就来介绍使用 EditorConfig 来解决上面的问题。

  1. 在项目根创建一个名为 .editorconfig 的文件。该文件的内容定义该项目的编码规范。EditorConfig 支持的编码规范在后文会有详细的介绍。
  2. 安装与编辑器对应的 EditorConfig 插件。

其工作原理是:当你在编码时,EditorConfig 插件会去查找当前编辑文件的所在文件夹或其上级文件夹中是否有 .editorconfig 文件。如果有,则编辑器的行为会与 .editorconfig 文件中定义的一致,并且其优先级高于编辑器自身的设置。

二、EditorConfig 支持的常用的编码规范

完整版见https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties

  • root:是否是顶级配置文件,设置为true的时候才会停止搜索.editorconfig文件
    • true
    • false
  • charset:文件编码格式。可选值
    • latin1
    • utf-8(一般用这个)
    • utf-16be
    • utf-16le
  • indent_style: 缩进类型。可选值
    • space
    • tab
  • indent_size: 缩进数量。可选值
    • 整数(一般设置 2 或 4)
    • tab
  • insert_final_newline:是否在文件的最后插入一个空行,即是否让文件以空行结束。可选值
    • true
    • false
  • end_of_line:换行符类型格式。说明见Wiki:换行。可选值
    • lf(一般用这个)
    • crlf
    • cr
  • max_line_length:最大行宽
    • 填写<number>数值
  • trim_trailing_whitespace:是否删除行尾的空格。可选值
    • true
    • false

三、常用文件名匹配

            1、* 匹配除/之外的任意字符

            2、**匹配任意字符串

            3、?匹配任意单个字符

            4[name]匹配name字符

            5、[!name]不匹配name字符

            6[s1,s2,s3]匹配给定的字符串

            7、[num1..num2]匹配num1到mun2直接的整数

四、总结

可见 EditorConfig 能设置的编码规范不多,但也基本够用。EditorConfig 和 ESLint 或TSLint之类的编码规范验证工具一起使用是不错的选择。

某个.editorconfig 文件示例

# http://editorconfig.org

root = true

# 对所有文件生效
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

# 对后缀名为 md 的文件生效
[*.md]
trim_trailing_whitespace = false

[References]

 EditorConfig官网:https://editorconfig.org

 Atom网站:https://atom.io/packages/editorconfig

 GitHub:https://github.com/sindresorhus/atom-editorconfig

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LuckyJiang.2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值