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

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


当前回答

现在还不可能在Eclipse中以通用的方式完成它,但是可以通过基本的Java知识和一些空闲时间来更改它,以添加对https://bugs.eclipse.org/bugs/show_bug.cgi?id=180349的基本支持

相关问题:https://bugs.eclipse.org/bugs/show_bug.cgi?id=311173

其他回答

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

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

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

关于你提到的第二部分问题,我不知道有什么解决办法。原因是不清楚如何定义我改变了。改变了什么时候?只是在两次保存或提交之间……基本上,算了吧。

我假设您希望遵守一些指导原则,但不要修改其余的代码。但该指导方针应全面使用,而不是针对零碎的部分。所以我的建议是——按照指导方针修改所有代码:这是一次性操作,但要确保所有开发人员都有相同的插件(AnyEdit),对项目设置相同。

使用Unix命令行工具sed,有一个非常简单的方法可以做到这一点。你可以在Eclipse中创建一个宏来运行这个:

sed -i 's/[[:space:]]*$//' <filename>

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

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

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

现在还不可能在Eclipse中以通用的方式完成它,但是可以通过基本的Java知识和一些空闲时间来更改它,以添加对https://bugs.eclipse.org/bugs/show_bug.cgi?id=180349的基本支持

相关问题:https://bugs.eclipse.org/bugs/show_bug.cgi?id=311173