WebStorm保存时自动删行尾空格需手动开启:一是在Settings > Editor > General > On Save中勾选Strip trailing spaces on Save并选All lines或Modified lines only;二是确保Code Style中Keep maximum blank lines设为1,且各语言设置均单独配置,否则无效。

WebStorm 保存时自动删行尾空格,是默认关闭的,必须手动开启;但一旦开错范围或没配 Code Style,反而会引发 Git 冲突或格式混乱。
怎么开启「保存时自动删行尾空格」
这个功能不靠插件,只改两处设置:
- 进
Settings>Editor>General>On Save,勾选Strip trailing spaces on Save - 下方下拉框选
All lines(全删)或Modified lines only(仅改过的行),后者更安全 - 点
Apply—— 不点就无效,很多人卡在这步
为什么删了空格,Git 还是一堆 diff?
常见原因是 .editorconfig 文件覆盖了 IDE 设置。比如项目根目录有:
trim_trailing_whitespace = true
那 WebStorm 的 Strip trailing spaces 就会被无视。此时要么删掉该行,要么确保 .editorconfig 和 IDE 设置一致。另外注意:某些团队用 Prettier 或 ESLint 插件接管格式化,它们的配置优先级更高,得去插件设置里关掉对应选项。
怎么避免误删「有意为之」的空格?
有些场景需要保留行尾空格,比如 Markdown 表格对齐、SQL 拼接字符串换行。WebStorm 不支持按文件类型开关该功能,但可以:
- 把这类文件加到
Settings>Editor>File Types的Files matching these patterns黑名单里(如*.md、*.sql) - 或者临时禁用:右键编辑器标签 >
Reload from Disk后再改,绕过保存钩子 - 关键提醒:
Keep maximum blank lines在Code Style里设为1,否则连续空行会被压成一个,和行尾空格问题混在一起难排查
Ctrl+Alt+L 格式化后空格还在?
因为 Ctrl+Alt+L 触发的是代码风格重排(Code Style),不是行尾清理。它只管缩进、括号、空行数等,不碰行尾空格。要让它也处理,必须先开启上面说的 On Save 设置,然后手动保存文件(Ctrl+S)—— 这才是触发点。别指望格式化快捷键顺带清空格,这是两个独立机制。
真正容易被忽略的是:不同语言的 Code Style 设置是分开的(如 JavaScript、TypeScript、HTML),你改了 PHP 的,JS 文件照样不生效。每个目标语言都得单独检查一遍。


















