在 IntelliJ IDEA 12 中保存时删除尾随空格
Posted
技术标签:
【中文标题】在 IntelliJ IDEA 12 中保存时删除尾随空格【英文标题】:Remove trailing whitespace on save in IntelliJ IDEA 12 【发布时间】:2014-01-07 21:53:22 【问题描述】:是否可以在 IntelliJ IDEA 中保存时自动删除尾随空格?我知道有一些解决方法,例如,使用 git 在提交时修剪空白。 也许这个问题与this one 重复,但我希望这可以在不设置键盘快捷键和宏的情况下完成。
【问题讨论】:
你应该接受答案,假设 IntelliJ 12 中也有该设置。(由于它在 11 和 13 中,我假设它在 12 中。) 【参考方案1】:添加外部工具。当程序通过/usr/bin/sed
(可能与您的盒子不同,运行which sed
来定位)并在参数中插入-i 's/[[:space:]]\+$//' $FilePath$
。总体而言,您希望 IntelliJ 运行的命令是,
/usr/bin/sed -i 's/[[:space:]]\+$//' <your current file>
这个sed会去掉尾随的空格,整体效果会和git很相似。接下来,您可以为新的外部工具条目添加键盘快捷键,但我不确定是否可以在保存时运行任何内容。
【讨论】:
【参考方案2】:不知道12,但是13中有如下设置:
设置 → 编辑器 → 保存时去除尾随空格
从 IntelliJ 2017.2 开始,它在下面
设置 → 编辑器 → 常规 → 保存时去除尾随空格
【讨论】:
IDEA 中似乎存在一个错误(至少包括我现在使用的 v13.1.4),尽管您在上面的首选项中选择了任何内容,但仍会在 上保存尾随空格光标所在的行。例如,如果您单击任何行的末尾并按几次<tab>
然后保存(或切换到启用了自动保存的另一个应用程序),则该行将保存完整的尾随空格。只要将光标移出线并重新保存,空格就会消失。
现在是 2016 年,这个错误仍然存在。
一个标题这不是一个错误,它是一个功能实际上并没有将错误转换为功能。在行尾后插入插入符号非常不方便,但我也想从当前行(光标所在的位置)删除尾随空格。例如,Sublime 有这个功能,Sublime 可以on demand 删除尾随空格,而不仅仅是on save。
我不确定它是什么时候实现的,但是从今天开始,现在有一个首选项允许您更改此行为:一个标有“始终在插入符号行上保留尾随空格”的复选框,位于“保存时去除尾随空格”选项下方。
我在 Intellij 中更改了设置,但仍然无法正常工作。【参考方案3】:
转到 ==> 首选项 |一般 |其他 |
如图所示:
-
保存时删除尾随空格:全部
取消选中始终保持....
它会删除尾随空格保存时,而不是之前
【讨论】:
【参考方案4】:2020.1 IntelliJ 版本中:
文件 -> 设置 -> 编辑器 -> 常规 -> 然后向下滚动到“保存文件”
【讨论】:
【参考方案5】:对我有用的是
智能
-
设置
常规
保存时
取消选中删除尾随空格
工作区
-
查找 .editorconfig
设置“trim_trailing_whitespace”设置。
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = false
【讨论】:
以上是关于在 IntelliJ IDEA 12 中保存时删除尾随空格的主要内容,如果未能解决你的问题,请参考以下文章
可以从 IntelliJ IDEA 的打开文件列表中删除 .class 文件吗?
Intellij IDEA Java 类不会在保存时自动编译