统一代码风格工具 editorConfig

Editorconfig简介

  1. editorConfig是编辑器配置,可以帮助开发者在不同的编辑器和IDE之间定义和维护一致的代码风格。比如编辑器中一个制表符等于的空格数的大小(即缩进大小),编辑器中设置的大小是不一致的

Editorconfig组成部分

  1. EditorConfig插件:EditorConfig 插件并不是所有的编辑器都默认支持的,需要使用请根据自己所需要使用的编辑器自行安装。
  2. .editorconfig 自定义文件,该文件的内容定义该项目的编码规范,编辑器的行为会与 .editorconfig 文件中定义的一致,并且其优先级比编辑器自身的设置要高。
  3. 当用IDE打开一个文件时,editorConfig插件.editorconfig 文件中定义的内容,应用于编辑器,编辑器读取配置文件并依此格式化代码,如果没有的话就用编辑器默认配置.

Editorconfig文件

  1. EditorConfig 文件采用类似 INI 的文件格式。在 EditorConfig 文件中,每行上的所有开头空格都被认为是不相关的。每行必须是以下之一:

    空白
    注释 -- 使用八字 ( #) 或分号 ( ;) 进行注释
    部分标题
    键值对 -- 包含一个键和一个值,用=分隔
    
  2. EditorConfig 文件应该是 UTF-8 编码的,带有 LF 或 CRLF 行分隔符。

Editorconfig通配符

  1. 特殊字符可以用反斜杠转义,这样它们就不会被解释为通配符模式。
  2. EditorConfig 通过以下通配符来匹配特殊文件
Editorconfig通配符匹配
*任何字符串,路径分隔符 ( /)除外
**任何字符串
?任何单个字符,路径分隔符 ( /)除外
[name]匹配名称中的任何单个字符
[!name]匹配名称中没有的任何单个字符
{s1,s2,s3}匹配任何给定的字符串(以逗号分隔,可以嵌套)
{num1…num2}num1和之间的任何整数num2,其中num1和num2 可以是正

Editorconfig配置说明

  1. Editorconfig支持的属性

    root           表示是最顶层的配置文件,发现设为true时,才会停止查找.editorconfig文件    
    charset           设置编码 一般设置为utf8
    indent_style    缩进类型(tab是硬缩进,space为软缩进)
    indent_size     缩进的数量,如果indent_style为tab,则此属性默认为tab_width
    tab_width        用一个整数来设置tab缩进的列数。默认是indent_size
    end_of_line     换行符格式,值为lf、cr和crlf
    trim_trailing_whitespace  设为true表示会去除换行行首的任意空白字符。
    insert_final_newline      是否在文件的最后插入一个空行
    
  2. Editorconfig 配置样例

    # http://editorconfig.org
    root = true
    # 对所有的文件生效
    [*]
    charset = utf-8
    indent_style = space
    indent_size = 4
    tab_width =4
    end_of_line = lf
    trim_trailing_whitespace = true
    insert_final_newline= true
    max_line_length = 80[*.{json,yml}]
    indent_size = 2[*.md]
    trim_trailing_whitespace = false
    
  3. Editorconfig 支持的编辑器

在这里插入图片描述

PS:我个人是Java YYDS,在研究BigData,也在尝试不同的IDE做开发,年轻人,冲冲冲!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值