PyCharm 默认开启“Strip trailing spaces on Save”功能,保存时自动删除行尾空格和制表符;关闭路径为 Settings/Preferences → Editor → General → On Save,取消勾选该选项,并注意.editorconfig、单文件设置及Reformat Code中的相关配置可能覆盖此设置。

PyCharm 为什么总删我代码末尾的空格?
这不是 bug,是 PyCharm 默认开启的「Trim trailing whitespace on Save」功能在起作用。它会在你保存文件时自动删除每行末尾的空格和制表符——对多数人是好意,但如果你正在维护需要保留末尾空格的模板、配置或某些 DSL(比如 Jinja2 的 {%- 语法),就会被悄悄破坏。
怎么关掉这个自动清理?
路径很直接:打开 Settings / Preferences → Editor → General → On Save,取消勾选 Strip trailing spaces on Save。
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
- 如果只想对当前项目关闭,确保顶部下拉框选的是
Project(而非Default Settings) - 勾选项下方还有个
Only modified lines,勾上它能减少误删,但依然会动你改过的行——真不想动,就全取消 - 部分旧版本 PyCharm(如 2021.1 之前)该选项藏在
Editor → General底部,叫Strip trailing spaces,注意别漏看
关了之后还要注意什么?
关掉全局开关后,个别文件或目录仍可能被单独配置覆盖:
- 右键文件 →
File Encoding弹窗底部有「Strip trailing spaces」开关,优先级高于全局设置 - 如果用了
.editorconfig,检查是否有trim_trailing_whitespace = true—— PyCharm 会遵从它,此时关 IDE 设置无效 - 团队协作时,建议统一约定:要么都关,要么用
.editorconfig显式声明,避免本地改了却提交失败
万一想局部保留怎么办?
不需要全局关,只对特定文件类型留空格?可以按语言粒度控制:
- 进
Settings → Editor → General → On Save,点Configure...按钮 - 在弹窗里添加文件类型(如
HTML、Jinja2),并把它们从「Strip trailing spaces」列表里移除 - 注意:这个配置只对「保存时」生效;手动触发
Code → Reformat Code仍可能清空,需额外关掉Reformat Code对应的「Remove trailing spaces」选项
.editorconfig 或单文件设置还在生效——建议先搜一遍项目根目录有没有 .editorconfig,再确认当前文件右键菜单里的编码设置。

















