这个问题有两部分,其中一部分我已经有了答案。

如何自动删除尾随空白从整个文件正在编辑?回答:使用AnyEdit插件,它可以设置为在任何保存到文件上。 如何自动删除尾随空白只从行我改变?这个我不知道,很感激你的帮助。


当前回答

正如@Malvineous所说,使用查找/替换方法删除尾随空格(下面包括制表符U+0009和空格U+0020)并不专业,而是一种变通方法。 只需按Ctrl + F(或command + F)

查找[\t][\t]*$ 替换为空白字符串 使用正则表达式 替换所有

额外的: 要去除前导空格,请查找^[\t][\t]*而不是[\t][\t]*$ 要删除空行,查找^\s*$\r?\ n

其他回答

我会说AnyEdit。它不提供这种特定的功能。但是,如果您和您的团队在每个保存操作中使用AnyEdit功能,那么当您打开文件时,它不能有任何尾随空白。

因此,如果您修改了这个文件,如果您添加了新的尾随空格,那么在保存操作期间,AnyEdit将只删除这些新空格,因为它们是这个文件中唯一的尾随空格。

如果,出于某些原因,您需要在未被您修改的行中保留尾随空格,那么我无法回答您,而且我不确定任何Eclipse插件中都存在这种特性……

你不需要任何插件来这样做。例如,如果你编写JAVA代码,你可以在配置保存操作时删除尾随空白:

Eclipse 3.6

首选项-> Java ->编辑器-> Save Actions -> Check在保存时执行所选操作->检查附加操作->单击“配置”。按钮。

在“代码组织”选项卡中,选中“移除尾随空格”

对于php,也有一个选项:

从正在编辑的整个文件中删除空白:

首选项-> Java ->编辑器-> Save Actions -> check在保存时执行所选操作-> check附加操作->单击“配置”。->进入代码组织选项卡->检查删除尾随空格->选择所有行。

只从我修改的行中删除空白:

首选项-> Java ->编辑器->保存操作->检查“执行所选的操作保存->检查格式源代码->选择格式编辑的行。

注意,没有必要在formatter页面上单击Configure the formatter settings -所有的代码样式都会自动包括删除尾随的空格。至少我在Formatter配置中找不到这样的设置,而且它对于内置的Java convention、Eclipse、Eclipse 2.1样式以及GoogleStyle都是开箱即用的。

在使用此设置时,显然还需要关闭问题第1部分的解决方案。

Eclipse version checked: 4.5.2, 4.11

我想你的问题是关于Java代码的。如果是这样的话,你实际上不需要任何额外的插件来完成1)。你可以只去首选项-> Java ->编辑器->保存动作,并配置它来删除尾随的空白。

听起来你也想让这成为一个团队范围内的设置,对吗?为了简化工作并避免每次有新的工作空间时都要记住设置它,您可以将保存操作设置为项目特定的首选项,该首选项与代码一起存储到SCM中。

为了做到这一点,右键单击你的项目,选择属性-> Java编辑器->保存动作。从那里,您可以启用特定于项目的设置,并将其配置为删除尾随空格(以及其他有用的东西)。

注意:这个选项在Eclipse Kepler(4.3)和后续版本中被删除了。

注意事项2:这个选项似乎回到了Eclipse Luna - Luna服务版本1a (4.4.1)