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,都不会因为「换行符」产生格式冲突

相关推荐
许彰午11 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
Bat U12 小时前
JavaEE|多线程初阶(七)
java·开发语言
misL NITL13 小时前
idea、mybatis报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
tomcat·intellij-idea·mybatis
掌心向暖RPA自动化15 小时前
如何获取网页某个元素在屏幕可见部分的中心坐标影刀RPA懒加载坐标定位技巧
java·javascript·自动化·rpa·影刀rpa
日取其半万世不竭15 小时前
Minecraft Java版社区服务器搭建教程(Linux,适合新手)
java·linux·服务器
TeamDev16 小时前
JxBrowser 9.0.0 版本发布啦!
java·前端·混合应用·jxbrowser·浏览器控件·跨平台渲染·原声输入
AI人工智能+电脑小能手16 小时前
【大白话说Java面试题】【Java基础篇】第24题:Java面向对象有哪些特征
java·开发语言·后端·面试
AI人工智能+电脑小能手17 小时前
【大白话说Java面试题】【Java基础篇】第25题:JDK1.8的新特性有哪些
java·开发语言·后端·面试
likerhood17 小时前
SLF4J: Failed to load class “StaticLoggerBinder“ 解决
java·log4j·maven
早日退休!!!17 小时前
大模型推理瓶颈七层分析模型
java·服务器·数据库