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

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


当前回答

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

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

其他回答

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

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

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

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

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

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

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

我对git使用了这个命令:git config——global core。空白cr-at-eol

它删除了^M个尾随字符。

对于php,也有一个选项:

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

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