如何阻止 intellij-idea 删除文件中文本行末尾的空格?

问题描述 投票:0回答:6

我正在使用intellij编辑器2018.1.5社区版来编辑纯文本文件。

我没有使用项目。我在 Linux 上启动它,如下所示:

  idea.sh  my_file.mpl

其中 my_file.mpl 是纯文本文件。

除了一个大问题之外,这种方法效果很好。

我需要在某些行的末尾有一个空格。即在文件中某行的行字符之后,我插入一些白色。通过做

View->Active editor->Show White spaces
,我看到空间就在那里。我可以看到小点,表明行尾有空白字符。

但是一旦我保存文件,这些空格就会从行尾删除。

这给我带来了问题(由于其他原因,当另一个应用程序读取此文件时)。

是否有一个选项告诉 intellij 不要删除该行最后一个字符后面的空格?

intellij-idea
6个回答
49
投票

转到“文件”->“设置”->“编辑器”->“常规”,然后在“其他”下,将“保存”上的“删除尾随空格”旁边的下拉菜单设置为您想要的任何内容。为了便于将来参考,您可以按 Ctrl-Shift-A 并键入搜索词来快速查找任何菜单命令或设置。在这种情况下,“尾随空格”或“去除尾随空格”效果非常好。


24
投票

较新的 PyCharm(2020 年及以后)的答案与 Code-Apprentice 的答案略有不同。

转到“文件”->“设置”->“编辑器”->“常规”,然后向下滚动到“保存文件”部分。下拉菜单在“保存为:”上删除尾随空格:就在那里。如果您在任何情况下都不想进行任何剥离,则可以选择 这是显示设置的图像:


5
投票
.editorconfig

并且我已经使用过

trim_trailing_whitespace=true
。这就是问题所在。这就是我为解决问题所做的。
[*.md]
trim_trailing_whitespace=false



4
投票

这里

有一个关于可能的错误(或至少令人困惑的情况)的讨论,其中您设置了“保存时删除尾随空格”=无,但您仍然会像我一样删除尾随空格。 Oksana Chumak 的评论对我有用 - 也就是说,我在“设置”>“编辑器”>“代码样式”中取消选中“启用 EditorConfig 支持”。这似乎允许使用配置文件“.editorconfig”来覆盖某些设置 - 另请参阅下面引用的 Andriy Bazanov 的答案...

注意:如果您的项目中有 .editorconfig 文件,则此选项可以 也可以通过该文件进行控制。该文件可以提供更细粒度的 控制哪些文件受这些设置影响。

.editorconfig 文件中的设置将覆盖 IDE 设置( 此类文件的全部性质),因此如果您的项目中有此类文件 和这样的指令,你将不得不禁用 该项目的 EditorConfig 或完全禁用插件(如果您这样做) 根本不关心这个)。

这就是对我有用的方法。我希望 intellij 继续修剪空格,但将空格保留在空行上。

1
投票
首先像

@Michael-Veksler

建议的那样,我更改了 intellij 在保存时的默认删除。

但它不断修剪尾随空白,那是因为在我的 .editorconfig

文件中,我打开了

trim_trailing_whitespace

 配置。所以现在我已经设置了
trim_trailing_whitespace = false
最后,因为我仍然希望编辑器修剪尾随空格,而不是在空行上,所以我在 
.eslintrc.js

文件中添加了以下设置:

module.exports = {
  ...
  rules: {
    ...
    'no-trailing-spaces': [2, { "skipBlankLines": true }]
  }
}

现在保存时的 lint-fix 就可以解决这个问题
    

使用IntelliJ IDEA 20232.2.5 尝试第一种方法 - 如果不起作用,请尝试第二种方法。

0
投票
1. 在“设置”中,转到“编辑器”->“常规”,然后向下滚动到“保存文件”部分。取消选中删除尾随空格

Screenshot of Remove Trailing Spaces2. 如果这不起作用,可能有一个编辑器配置覆盖了它。如果不需要,请关闭它

在“设置”中,转到“编辑器”->“代码样式”。取消选中启用 EditorConfig 支持

Screenshot of Enable EditorConfig support location

© www.soinside.com 2019 - 2024. All rights reserved.