IntelliJ IDEA 关闭保存时在文件末尾换行 -(取消保存自动末尾换行)

怎么解决呢,ez啊

我也是找了好久,检查、代码格式、自动换行找了好久啊,找到了非常 e妹z 啊!

像我一样取消选项 确保每个保存的文件均以换行结束就可以啦

解决方法:(如图)

意义

那么,为什么默认是添加的呢?因为

✅ 一、文件末尾加空行(换行符)的「官方 / 技术层面核心作用」

这个规则不是 IDEA 发明的,是 Unix/Linux 系统、编程语言、代码规范的「通用行业标准」 ,对 .yml/.yaml/.java/.js/.vue/.sh所有纯文本文件都生效,核心作用有 3 个,优先级从高到低:

✔ 1. 【最核心】解决 Unix/Linux 系统读取文件的兼容性问题

✅ 本质原因:Unix 系统对「文件结尾」的定义规则

  • Unix/Linux 中,文件的每一行内容,都必须以「换行符\n」结尾 才算完整的一行;
  • 如果文件最后一行没有换行符,系统会认为这个文件是「不完整的、被截断的文件」;
  • 会导致:Shell 脚本执行报错、配置文件读取异常、程序解析 YAML/Properties 配置时出现「读取不全 / 格式错误」,Windows 系统无此问题 (Windows 的换行规则是\r\n,对末尾无要求)。

场景重点:yml是项目核心配置文件,项目部署 / 运行基本都是在 Linux 服务器,如果 yml 末尾无空行,大概率会出现「本地运行正常、服务器启动报错 / 读取不到配置」的坑!

✔ 2. 【Git / 版本管理】规避 No newline at end of file 告警 + 避免无意义的 diff 提交

  • 你之前在 Git 提交记录里看到的黄色提示 No newline at end of file 就是这个告警,Git 也遵循 Unix 规范,会判定这个文件格式不标准;
  • 更坑的是:如果 A 同学编辑文件时手动删了末尾空行,B 同学保存时 IDEA 又自动加上,Git 会把「空行」识别为「文件修改」 ,提交记录里会出现一条「无业务意义的 diff」,导致提交记录污染,团队协作时尤其恶心。

✔ 3. 【代码规范 / 开发协作】统一团队文件格式标准

像阿里、华为等大厂的代码规范,以及业界通用的 Google Code Style/Alibaba Java Coding Guidelines,都明确规定:

所有纯文本文件,末尾必须保留一个空行。

目的就是:团队所有人的文件格式一致,不管用 IDEA/Eclipse/Vscode,不管 Windows/Linux,都不会因为「换行符」产生格式冲突

相关推荐
兆子龙1 小时前
ahooks useMemoizedFn:解决 useCallback 的依赖地狱
java·javascript
曹牧5 小时前
BeanUtils.copyProperties‌
java
QWQ___qwq6 小时前
Java线程安全深度总结:基本类型与引用类型的本质区别
java·安全·面试
识君啊6 小时前
Java异常处理:中小厂面试通关指南
java·开发语言·面试·异常处理·exception·中小厂
月月玩代码8 小时前
Actuator,Spring Boot应用监控与管理端点!
java·spring boot·后端
阿珍爱上了阿强,在一个有星星的夜晚9 小时前
node后端页面性能监测分析
java·学习方法
Java程序之猿9 小时前
SpringBoot + camel+IBM MQ实现消息队列处理
java·spring boot·mybatis
z_鑫10 小时前
SpringCloud FeignClient 中 Bean 重复注册冲突解决方案解析
java·spring boot·spring cloud
孫治AllenSun10 小时前
【线程池】优化等待队列和拒绝策略
java·spring boot·spring cloud