当前位置: 代码迷 >> 综合 >> 你需要知道的神器之 editorconfig
  详细解决方案

你需要知道的神器之 editorconfig

热度:26   发布时间:2024-02-20 13:03:49.0

工匠若水可能会迟到,但是从来不会缺席,最终还是觉得将自己的云笔记分享出来吧 ~

背景

经常在全球最大的男性社交平台 github 上看别人项目时,会发现好多顶级牛逼的项目目录下都会有个.editorconfig文件,出于好奇查了下才发现真特么香。恰巧最近在研究团队一致的 customer IDE format config file 场景,所以就深入品尝了下.editorconfig,发现他的这个真香只适合那些新立项项目或者强制全局执行的项目,因为深入研究后发现其不支持增量配置,略可惜,不过丝毫不影响我写篇文章夸夸他。

.editorconfig能解决什么问题

他能让使用不同编辑器的开发者在共同开发同一个项目时无感知的达到相同的编码风格规范,注意我的措辞,“让使用不同编辑器的开发者在共同开发同一个项目时”,知道多牛逼了么,算得上是跨编辑器吧。最主要是很多主流编辑器,譬如 IDEA 全家桶等都内置支持了 EditorConfig 插件,是内置,不是让你安装,足以说明他有多受重视。

.editorconfig怎么用

这就很优秀了,只要你的编辑器有 EditorConfig 插件,然后开启他就行,你基本不用做啥,只要你在你项目根目录下放置一个叫.editorconfig的文件并在其中定义好编码风格就行,你在写代码时他会帮你自动实时格式化,你完全不用分心在格式上。

.editorconfig文件怎么写

我的.editorconfig文件配置有下面这些,你一可以参照官方文档进行自己的配置,官方https://github.com/editorconfig/editorconfig/wiki里面不但给出了详细说明,还给出了他们正在做的一些实验性属性尝试,也列出了目前哪些顶级项目在用它。

具体属性我就不背书了,浪费大家时间,直接去官方看文档,详细的要命。

# see https://github.com/editorconfig/editorconfig/wikiroot=true                   # 根目录的配置文件,编辑器会由当前目录向上查找[*.{java,kt,groovy,xml}]    # 匹配所有的文件
charset = utf-8             # 文件编码是 utf-8
end_of_line = crlf          # 文件换行符
trim_trailing_whitespace = true # 不保留行末的空格
insert_final_newline = true # 文件末尾添加一个空行
indent_style = space        # 空格缩进
indent_size = 4             # 缩进空格为4个
max_line_length = 20
curly_bracket_next_line = true     # 大括号不另起一行
spaces_around_operators = true      # 运算符两遍都有空格
indent_brace_style = 1tbs           # 条件语句格式是 1tbs
spaces_around_brackets = outside
indent_brace_style = K&R
wildcard_import_limit = 2

总结

很适合新项目立项之初的强制约束,比 IDE 自带的 format 要想。对于差分能力,只能说佛系期待官方哪天支持一把吧。

【工匠若水 未经允许严禁转载,请尊重作者劳动成果。+微信 yanbo373131686 联系我】