#HarmonyOS NEXT体验官# 鸿蒙中实现团队代码格式化风格一致性 原创
1. 背景
在鸿蒙团队开发中,我们可能会遇到以下场景:
团队内的小伙伴修改并顺手格式化【Cmd + Option + L/Ctrl + Alt + L】了一下A.est页面的代码,然后Commit 提交了。此时你刚好也在更改A.est页面的代码,然后不小心拉取了一下代码,代码冲突了😭,此时你准备解决冲突,一不小心roback 回滚了你本地的代码。虽然通过本地的git stash 恢复了回滚的代码,但是内心还是有些颤抖的。🤣
此刻你聪明的小脑袋会想,有没有什么办法统一团队内格式化代码的风格呢?
如果你了解前端【如果没有,没关系,直接跳过本段内容】,你会发现在前端有已经有了此类的解决方案。比如Prettier
,Spotless
,ESLint
,EditorConfig
,等等方案
有没有鸿蒙能用的而且能够快速上手的方案呢?
有,那就是 EditorConfig
2. EditorConfig 是什么?
EditorConfig 不是什么软件,也不是什么插件,它只是一个配置文件,它的目标是为不同的编辑器、编码语言和文件类型提供统一的代码风格和格式要求。具体支不支持取决于IDE是否支持,主流的编辑器,如 VSCode、Sublime Text、Atom 等,通常会默认支持 EditorConfig,并自动加载其规范,可以使得跨团队协作时代码风格更加统一,减少了因编辑器差异导致的代码格式问题。
常见支持的IDE,更多介绍可看官网:https://editorconfig.org/
下面是一些常见支持EditorConfig的IDE
幸运的是HUAWEI DevEco Studio是基于IntelliJ IDEA Community开源版本打造。而IntelliJ IDEA 是支持解析EditorConfig 配置的。
3. 在HUAWEI DevEco Studio 中使用EditorConfig
3.1 启用EditorConfig插件
Preferences>Plugins>EditorConfig>勾选
3.2 开启IDE 对EditorConfig的支持
Preferences>Editor>Code Style>Enable EditorConfig support>勾选
3.3 项目配置EditorConfig
项目中配置EditorConfig很简单,在项目根目录新建一个.EditorConfig 文件即可,如下图所示
3.4 EditorConfig 模板
如果你的团队内有多种开发设备【Windows/Mac/Linux】,多种IDE【DevEco Studio、Android Studio、VS Code、HBuilder X…】。可以整个大团队内维护一套EditorConfig配置文件。
# http://editorconfig.org
# 定义该文件为EditorConfig的根文件,确保所有子文件夹中的文件都遵循相同的设置
# 顶级配置
root = true
# 适用于所有文件的通用配置
[*]
# 指定使用空格进行缩进,而非制表符,以保持代码的一致性
indent_style = space
# 指定缩进的空格数为2,用于提高代码的可读性
indent_size = 2
# 指定字符编码为UTF-8,确保文件在不同系统间传输时不会出现编码问题
charset = utf-8
# 指定行尾字符为LF,适用于Unix/Linux系统,确保跨平台的行结束符一致性
end_of_line = lf
# 自动去除行尾的多余空格,减少不必要的空白行,保持代码整洁
trim_trailing_whitespace = true
# 在文件末尾自动添加一个新行,使得文件的结尾更加清晰
insert_final_newline = true
# 一行最大达到多少字符后自动换行
max_line_length = 200
# 针对特定文件类型的特殊配置
[*.{json}]
# 对于JSON、YAML文件,将缩进空格数设置为2,以符合这些文件通常的缩进标准
indent_size = 2
[*.md]
# 对于Markdown文件,不自动在文件末尾添加新行,以保留可能的空白行用于格式化
insert_final_newline = false
# 对于Markdown文件,不自动去除行尾的空格,因为这可能会影响代码块的格式
trim_trailing_whitespace = false
4. 其它
关于editorconfig 更多用法,大家可在juejin 搜索