EditorConfig

.editorconfig文件

在很多开源项目中,会出现这个文件,这个文件有何作用?

editorconfig 帮助开发者的(编辑器和IDEs)定义和维护编程风格。

有些编辑器不用安装插件,会自动识别.editorconfig文件,然后会按文件中的规范设置编程风格

不用安装插件的

  • GitHub
  • IntelliJIDEA
  • VisualStudio
  • WebStorm

等等,其他的可以在EditorConfig查看

要安装插件

  • ATOM
  • eclipse
  • Sublime Text
  • Notepad++
  • vsCode

等等,其他的可以在EditorConfig查看

安装插件教程也可以在官网查看

文件匹配规则

  • * : 匹配任何字符串,除了路径分隔符/
  • ** : 匹配任何字符串
  • ? : 匹配任何单个字符
  • [name] : 类似正则的 /name/
  • [!name] : 除了[name]之外
  • {s1,s2,s3} : 类似正则的s1|s2|s3,表示或
  • {1..9} : 表示匹配的次数在1~9之间都可以
  • # : 表示注释

支持的编程风格属性

  • indent_style : 缩进风格,可能值为tab(Tab键) 和 space(空格键),一般敲了{}我们要在中间再敲enter键,会自动缩进,这个决定是用tab还是space
  • indent_size : 主要决定space次数,一般风格推荐2或者4
  • tab_width : 使用tab风格时,一般不用设置,默认值为indent_size
  • charset : 编码,可能值latin1 utf-8 utf-8-bom utf-16be utf-16le
  • trim_trailing_whitespace : true or false 是否将行尾空格删除
  • insert_final_newline : true or false 确保文件最后一行是一个空行
  • root : true or false 是否以.editorconfig文件为根目录,使用文件匹配时会以这个为开始相对路径

webpack文件为例

#[采用的相对路径以这个文件开始]
root = true #匹配所有文件
#缩进采用tab、大小为4、编码utf-8、删除行尾空格、最后一行是空白行 、文件最大行223行
[*]
indent_style = tab
indent_size = 4
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 233 #.prettierrc采用的规则
[.prettierrc]
indent_style = space
indent_size = 2 #.yml .yaml .json 文件采用的规则
[*.{yml,yaml,json}]
indent_style = space
indent_size = 2 #由于root=true ,test文件夹和.editorconfig文件应在同一文件夹内
#test/cases/parsing/bom/ 文件下的bomfile.css bomfile.js
[test/cases/parsing/bom/bomfile.{css,js}]
charset = utf-8-bom #所有markdown文件的规则
[*.md]
trim_trailing_whitespace = false

最新文章

  1. 【原】Github+Hexo+NextT搭建个人博客
  2. Queue Reconstruction by Height
  3. 3D音效
  4. css 优先级 机制
  5. MFC如何添加自定义控件
  6. 无限极分类sql数据库的设计
  7. How to: Create Your Own Test Certificate (.pfx)
  8. 剑指offer-面试题2.实例Singleton模式
  9. C语言中没有main函数生成可执行程序的几种方法
  10. Git 文件状态的转换
  11. 8. Andrénalin ★ Serial
  12. quratz线程
  13. 《深入理解Java虚拟机:JVM高级特性与最佳实践》读书笔记
  14. appium ,selenium ,webdriver 运行原理与机制
  15. 基于qml创建最简单的android机图像采集程序
  16. HDU 5499:SDOI
  17. VirtualBox如何扩展虚拟机Ubuntu的硬盘容量?
  18. 微信小程序web-view(webview) 嵌套H5页面 唤起微信支付的实现方案
  19. Ensure Indexes Fit in RAM
  20. console.log出来的信息不一定是真的

热门文章

  1. andriod ndk配置
  2. 【OpenJ_Bailian - 4005】拼点游戏(贪心)
  3. Spark 学习(三) maven 编译spark 源码
  4. 笔记-JavaWeb学习之旅8
  5. PostgreSQL-3-DDL数据定义语言
  6. (洛谷 P1429 平面最近点对(加强版) || 洛谷 P1257 || Quoit Design HDU - 1007 ) && Raid POJ - 3714
  7. 洛谷 P1593 因子和 || Sumdiv POJ - 1845
  8. Jmeter----小技巧(3)
  9. matlab实现gabor滤波器的几种方式
  10. 初探ant design pro