关于editorConfig
-
什么是editorConfig?
官方直译:
EditorConfig有助于为跨越各种编辑器和IDE的同一项目的多个开发人员维护一致的编码样式。EditorConfig项目由用于定义编码样式的文件格式和一组文本编辑器插件组成,这些插件使编辑器能够读取文件格式并遵循定义的样式。
-
如何使用?
分为2种,一种值ide内置支持的,直接配置文件即可;另外一种值需要依赖插件来实现,例如vscode
使用方式上分为2步:
(1)确认IDE是否支持, 不支持就安装工具插件
(2)将配置文件放在,工程的根目录下即可
(3) 填写或引用配置文件
-
关于其支持的相关的配置
- editorConfig github WiKi
- root 标识 是否位于根目录
- indent_style 缩进的形式 Tab|space
- Indent_size 缩进的大小 数字|Tab
- tab_width 单个tab的大小 默认是indent_size(如果其为数字)
- end_of_line 结尾换行符 lf(unix)|crlf(window)|cr(mac)
- charset 文件编码
- trim_trailing_whitespace 结尾是否允许空格 true|false
- insert_final_newline 文档是否需要以换行(\n)结尾 true|false
- max_line_length 在指定的字符数量后强制强行换行。
off
关闭此功能(使用编辑器设置)。
-
一些经典工程的配置情况
react
# http://editorconfig.org root = true [*] charset = utf-8 end_of_line = lf indent_size = 2 indent_style = space insert_final_newline = true max_line_length = 80 trim_trailing_whitespace = true [*.md] max_line_length = 0 trim_trailing_whitespace = false [COMMIT_EDITMSG] max_line_length = 0
angluar
# https://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 [dropdown-toggle.js] trim_trailing_whitespace = false insert_final_newline = false [htmlparser.js] insert_final_newline = false
babel
root = true [*] insert_final_newline = true charset = utf-8 trim_trailing_whitespace = true end_of_line = lf [*.{js,json,ts,tsx}] indent_style = space indent_size = 2 [Makefile] indent_style = tab [*.{md,markdown}] trim_trailing_whitespace = false
webpack
root = true [*] indent_style = tab indent_size = 2 charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true max_line_length = 80 [*.{yml,yaml,json}] indent_style = space indent_size = 2 [test/cases/parsing/bom/bomfile.{css,js}] charset = utf-8-bom [*.md] trim_trailing_whitespace = false
vue
# 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] insert_final_newline = false trim_trailing_whitespace = false
-
借鉴主流的配置,形成以下配置
root = true [*] # 文档编码格式 charset = utf-8 # 换行符的使用形式(主要是解决window 和 mac或unix 的不同) end_of_line = lf # 缩进的大小 indent_size = 2 # 缩进的方式 indent_style = space # 文档是否需要以换行结尾(/n) insert_final_newline = true # 文件结尾是否允许空格 trim_trailing_whitespace = true # 对后缀名为 md 的文件生效 [*.md] trim_trailing_whitespace = false
-
关于一些注意:
- 可以将任何一个属性的值设置为unset 来确保,放弃配置,而启用ide默认的行为