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

EditorConfig文件的更多相关文章

  1. 好奇,项目根目录下的.editorconfig文件

    一..editorconfig文件是什么? 在项目里,大多时候都能看到.editorconfig文件,刚开始总是忽视掉它,认为它不太重要.但是,它的存在,必定有它的理由,于是,抽空来研究一下,它是什么 ...

  2. 统一代码风格工具——editorConfig

    前面的话 在团队开发中,统一的代码格式是必要的.但是不同开发人员的代码风格不同,代码编辑工具的默认格式也不相同,这样就造成代码的differ.而editorConfig可以帮助开发人员在不同的编辑器和 ...

  3. 一统江湖的大前端(5)editorconfig + eslint——你的代码里藏着你的优雅

    <一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...

  4. editorconfig使用

    //是否是顶级配置文件,设置为true的时候才会停止搜索.editorconfig文件 root = true [*] //缩进方式tab" | "space indent_sty ...

  5. robots.txt、humans.txt、.editorconfig、.gitignore、LICENSE.txt、README.md、CHANGLOG.md

    robots.txt搜索引擎查看的时候会查看这个文件,告诉搜索引擎哪些文件可以查看,哪些文件不能查看 当搜索引擎搜索网站的时候,会看有这个文件没,如果有,会通过里面的文件来确定哪些文件能看,哪些文件不 ...

  6. 使用editorconfig配置你的编辑器

    摘要: 在团队开发中,统一的代码格式是必要的.但是不同开发人员使用的编辑工具可能不同,这样就造成代码的differ.今天给大家分享一个很好的方法来使不同的编辑器保持一样的风格. 不同的编辑器也有设置代 ...

  7. EditorConfig知识点

    .editorconfig 该文件定义项目的编码规范,编辑器的行为会与.editorconfig 文件中定义的一致,并且其优先级比编辑器自身的设置要高,这在多人合作开发项目时十分有用而且必要. 在哪里 ...

  8. vue-cli脚手架之其他文件解释

    好了,脚手架目录中重要的文件基本都介绍了,但还有一个不太注意到的文件没有解释,这里也说明一下. config文件夹下的index.js,作用是不同开发环境下的参数配置(可选项很多,生产环境.开发环境. ...

  9. git配置文件—— .editorconfig

    参考文档 editorconfig官方文档 github/editorconfig/wiki文档 一 概述 editorConfig不是什么软件,而是一个名称为.editorconfig的自定义文件. ...

随机推荐

  1. mysql引擎问题研究

    mysql引擎问题研究 数据库引擎 缺省情况下,MYSQL支持三个引擎:ISAM,MYISAM和HEAP.还存在MYSQL+API的引擎例如InnoDB. 数据库引擎特点 ISAM:执行读取操作速度很 ...

  2. 执行gulp build报错

    问题与分析 在执行gulp build报错如下: D:\coding\Resume\Resumes>gulp build gulp build[5628]: src\node_contextif ...

  3. [题解](单调队列)luogu_P2216_BZOJ_1047 理想的正方形

    调了半天,发现这个写法确实极易错...... 对于每列都维护一个单调队列记录最大最小值,这样一次操作后就把最大最小值压到了一维, 然后再对这一行维护一个单调队列,每次更新ans值,然而对于数组和队列下 ...

  4. urllib库的基本使用

    urllib库的使用 官方文档地址:https://docs.python.org/3/library/urllib.html 什么是urllib Urllib是python内置的HTTP请求库包括以 ...

  5. UWP 播放媒体控件

    最近我的uwp需要有一个有声朗读的功能,like this 点击声音按钮就可以有声朗读了.这里主要是用了媒体播放的控件. 一般我们把需求分为两种: 一种是不需要呈现播放器的样子,只需要用户点击一下别的 ...

  6. HDU4089(概率dp)

    题解 要点: 1.转移方程分三段,这个……有点复杂但是还好吧……大概就是求啥设啥,然后只通过可行的状态过来.在纸上记一记. 2.每层里面必须先求dp[i][i],简直就是我求我自己……用类似进制数那种 ...

  7. python_17(sql)

    第1章 MySQL安装 1.1 windows版下载地址 1.2 添加环境变量 1.3 初始化 1.4 启动mysql服务 1.5 链接mysql 1.6 制作mysql的windows服务 1.7 ...

  8. Unity Shader入门精要学习笔记 - 第10章 高级纹理

    转载自 冯乐乐的 <Unity Shader入门精要> 立方体纹理 在图形学中,立方体纹理是环境映射的一种实现方法.环境映射可以模拟物体周围的环境,而使用了环境映射的物体可以看起来像镀了层 ...

  9. vue axios post不能本地json

    vue 脚本架里axios post是不能本地json,GET可以 解决这个问题需要自己在node里写脚本: 在build里新建立fakedata.js var express = require(' ...

  10. leetcode128 Longest Consecutive Sequence

    思路: 维护一个unordered_map,key是每个连续区间的端点,value是该区间的长度. 实现: class Solution { public: int longestConsecutiv ...