Jetbrains 非预期 format 代码过滤
在升级到 2025.1 系列版本后,我们项目中的 .proto 文件出现了一个令人头疼的问题:仅仅修改几行内容,却引发了整个文件的大面积 format 变化。
由于我们使用的是公共 repo,我们一直非常注重 diff 的最小化,避免格式化带来的冗余变更。但这次 .proto 文件却被“悄悄”改了样子。
❓ 发生了什么? 我们原本以为是 protobuf 插件导致的自动格式化,于是尝试关闭 .proto 文件的相关插件支持,退回纯文本模式。然而,问题依旧存在。
在多次对比 format 前后的差异后,我们终于发现——
原来是 所有注释行最后的空格被自动移除了。
也就是说,哪怕我们只改了一行逻辑代码,整个文件中尾部有空格的注释行也被一并“清理”,导致 Git diff 看起来像是大动干戈,实际只是视觉污染。
✅ 解决方案:添加 .editorconfig 为了彻底杜绝这类问题,我们最终采用了 .editorconfig 文件配置来控制编辑器行为。
在项目根目录下创建 .editorconfig 文件,内容如下:
[*] trim_trailing_whitespace = false
这条配置的意思是:对所有文件类型,不自动清除行尾空格。
配置完成后,记得重启编辑器,确保设置生效。……