DCloud_HB_WDL
DCloud_HB_WDL
  • 发布:2019-06-27 17:25
  • 更新:2022-05-14 09:12
  • 阅读:7409

HBuilderX editorconfig使用说明

分类:HBuilderX

HBuilderX 2.0.3+起支持

editorconfig是什么?

很多公司都要求各开发成员使用相同的编码风格,比如缩进是空格还是tab。

editorconfig是一套解决这个问题的业内通用规范,通过在项目下存放配置文件.editorconfig,并在这个配置文件中描述规则,然后把这个配置文件和其他代码一起提交git/svn,所有项目成员,都会遵循相同的编码规范。

HBuilderX直接支持该规范,无需下载插件,开箱即用。sublime、vscode支持该规范的话需要先下载插件。

editorconfig的官网是https://editorconfig.org/
editorconfig可以帮助开发者在不同的编辑器和IDE之间定义和维护一致的代码风格。
editorconfig包含一个用于定义代码格式的文件和一批编辑器插件,这些插件可以让编辑器读取配置文件并依此格式化代码。
editorconfig的配置文件十分易读,并且可以在各个操作系统、编辑器下工作。

editorconfig的配置文件是怎样的?

以下是一个用于设置Python和JavaScript行尾和缩进风格的配置文件。

# EditorConfig is awesome: http://EditorConfig.org  

# top-most EditorConfig file  
root = true  

# Unix-style newlines with a newline ending every file  
[*]  
end_of_line = lf  
insert_final_newline = true  

# 4 space indentation  
[*.py]  
indent_style = space  
indent_size = 4  

# Tab indentation (no size specified)  
[*.js]  
indent_style = tab  

# Indentation override for all JS under lib directory  
[lib/**.js]  
indent_style = space  
indent_size = 2  

# Matches the exact files either package.json or .travis.yml  
[{package.json,.travis.yml}]  
indent_style = space  
indent_size = 2

案例

很多开源项目都用到了editorconfig

比如jQuery, jQueryGithub上的.editorconfig配置文件如下:

root = true  

[*]  
indent_style = tab  
end_of_line = lf  
charset = utf-8  
trim_trailing_whitespace = true  
insert_final_newline = true  

[package.json]  
indent_style = space  
indent_size = 2

如上,可以看到,JQuery配置了:编码格式、缩进风格等

在哪里存放配置文件

当打开一个文件时,editorconfig插件会在打开文件的目录和其每一级父目录查找.editorconfig文件,直到有一个配置文件root=true

如果一个工程中出现多个配置文件,EditorConfig配置文件的读取层级是自上而下的,最深层的配置文件,最后读取。配置规则也是 按照读取的顺序来生效,所以路径上离代码最近的配置规则,优先级最高。

相对于其他开发工具(如vscode),HBuilderX对editorconfig更完善。在其他工具中,项目外层如果有editorconfig文件,也会影响这个项目,经常让人莫名其妙。HBuilderX没有这个bug。

文件格式详情

editorconfig文件使用INI格式(译注:请参考维基百科),目的是可以与Python ConfigParser Library兼容,但是允许在分段名(译注:原文是section names)中使用“and”。
分段名是全局的文件路径,格式类似于gitignore。斜杠/作为路径分隔符,#或者;作为注释。注释应该单独占一行。editorconfig文件使用UTF-8格式、CRLFLF作为换行符。

通配符

通配符 说明
* 匹配除/之外的任意字符串
** 匹配任意字符串
匹配任意单个字符
[name] 匹配name字符
[!name] 匹配非name字符
{s1,s3,s3} 匹配任意给定的字符串(0.11.0起支持)

特殊字符可以用\转义,以使其不被认为是通配符。

支持的属性

属性说明 说明
indent_style tab为hard-tabs,space为soft-tabs
indent_size 设置整数表示规定每级缩进的列数和soft-tabs的宽度(译注:空格数)。如果设定为tab,则会使用tab_width的值(如果已指定)
tab_width 设置整数用于指定替代tab的列数。默认值就是indent_size的值,一般无需指定。
end_of_line 定义换行符,支持lf、cr和crlf。
trim_trailing_whitespace 设为true表示会除去换行行首的任意空白字符,false反之
insert_final_newline 设为true表明使文件以一个空白行结尾,false反之
root 表明是最顶层的配置文件,发现设为true时,才会停止查找.editorconfig文件。

注意

  1. 在HBuilderX内, 所有的属性名和属性值对大小写敏感。通常,如果没有明确指定某个属性,则会使用编辑器的配置,而editorconfig不会处理。
  2. 推荐不要指定某些editorconfig属性。比如,tab_width不需要特别指定,除非它与indent_size不同。同样的,当indent_style设为tab时,不需要配置indent_size,这样才方便阅读者使用他们习惯的缩进格式。另外,如果某些属性并没有规范化(比如end_of_line),就最好不要设置它。
  3. 如果你不需要editorconfig的功能,可以在工具-设置中关闭这个功能。

HBuilderX 启用或关闭editorconfig配置

在【设置】中,有个editorconfig开关,您可以自由选择开启与关闭.editorconfig

0 关注 分享

要回复文章请先登录注册

h***@sohu.com

h***@sohu.com

test
2022-05-14 09:12
DCloud_HB_WDL

DCloud_HB_WDL (作者)

回复 2***@qq.com :
HBuilderX左侧视图,找到.editorconfig文件,目录结构截图看看。以及文件内容截图
2022-05-06 10:24
2***@qq.com

2***@qq.com

回复 DCloud_HB_WDL :
启用了,现在版本3.3.13还是没有效果
2022-05-06 10:16
DCloud_HB_WDL

DCloud_HB_WDL (作者)

回复 2***@qq.com :
HBuilderX,设置中,启用editorconfig了吗
2022-03-17 13:21
2***@qq.com

2***@qq.com

没有效果啊,在vscode里却有效果
2022-03-17 12:52
程序小仲

程序小仲

没有效果
2021-12-16 10:26
迷糊K

迷糊K

我的也没生效,版本HX版本 3.1
2021-07-11 13:21
酒吧七

酒吧七

大佬,本地的editorconfig不生效,是最新版本不支持editorconfig了吗
2020-11-15 20:23