如何在Eclipse中自动删除尾随空格?

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

  1. 如何从正在编辑的整个文件中自动删除结尾的空格? ->答案:使用AnyEdit插件 ,可以将其设置为在保存到文件时执行此操作。
  2. 如何仅从我更改的行中自动删除结尾的空格? ->我不知道,将不胜感激。

#1楼

我也会说AnyEdit。 它不提供此特定功能。 但是,如果您和您的团队在每次保存操作时都使用AnyEdit功能,则在打开文件时,该文件不得包含任何尾随空格。

因此,如果您修改此文件并添加新的尾随空格,则在保存操作期间,AnyEdit将仅删除这些新空格,因为它们是此文件中仅有的尾随空格。

如果由于某种原因,你需要保持尾随空格上没有被修改过的线,那我也没有答案给你,我不知道这种功能在任何Eclipse插件存在...


#2楼

对于您问题的第二部分,我不知道有任何解决方案。 原因是不清楚如何定义我已更改 。 何时更改? 两次保存之间或两次提交之间...基本上-算了。

我假设您想遵循一些准则,但不要触摸其余的代码。 但该指南应整体使用,而不是一丁点。 因此,我的建议是-将所有代码更改为准则:这是一次性的操作,但请确保所有开发人员都具有相同的插件(AnyEdit),并且该项目具有相同的设置。


#3楼

我认为您的问题是关于Java代码的。 如果是这样,您实际上不需要任何额外的插件即可完成1)。 您可以转到“首选项”->“ Java”->“编辑器”->“保存操作”,然后对其进行配置以删除尾随空格

听起来,您还希望将其设置为团队范围的设置,对吗? 为了使生活更轻松,并且避免每次都拥有新工作区时都必须记住对其进行设置,可以将保存操作设置为项目特定的首选项,该首选项随代码一起存储到SCM中。

为此,右键单击您的项目,然后转到Properties-> Java Editor-> Save Actions 。 从那里,您可以启用项目特定的设置并将其配置为删除尾随空格(以及其他有用的东西)。

注意 :此选项已在Eclipse Kepler(4.3)和后续发行版中删除。

注意2:该选项似乎在Eclipse Luna中恢复Luna Service Release 1a (4.4.1)


#4楼

您可以在Eclipse中映射一个键,以手动删除整个文件中的尾部空格,但是只能在请求时才删除,而不是在保存时自动删除。 (“首选项/键”,然后将一组键映射到“文件/删除尾随空白”)如果要清理所有新文件,但保持原有代码不变,这将很有用。

另一种策略是激活空白的可视显示,所以至少在添加尾随空白时您会知道。 据我所知,虽然没有办法只显示尾随空格,但是我很高兴被证明是错误的。


#5楼

请执行以下操作:

首选项 -> Java- > 编辑器 -> 保存操作

在此处输入图片说明


#6楼

  1. 从要编辑的整个文件中删除空格:

首选项 -> Java- > 编辑器 -> 保存动作 ->检查在保存时执行选定的动作 ->检查其他动作 ->单击配置。- >转到代码组织选项卡->检查删除尾随空白 ->选择所有行

  1. 仅从我更改的行中删除空格:

首选项 -> Java- > 编辑器 -> 保存动作 ->选中“ 在保存时执行选定的动作 ->检查格式化源代码 ->选择格式化编辑的行

请注意,不必在“格式器”页面上单击“ 配置格式器设置” -所有代码样式都会自动包括删除结尾的空格。 至少我在Formatter配置中找不到此设置,并且它对于内置Java约定,Eclipse,Eclipse 2.1样式以及GoogleStyle都是开箱即用的

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

Eclipse version checked: 4.5.2, 4.11

#7楼

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

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


#8楼

对于php,还有一个选项: 在此处输入图片说明


#9楼

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

  1. 查找 [\\t ][\\t ]*$
  2. 替换为空白字符串
  3. 使用正则表达式
  4. 全部替换

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


#10楼

如果您设置了代码格式化程序选项,则可以通过Ctrl + Shift + F来执行PyDev,也可以在保存期间执行

Eclipse- > 窗口 -> 首选项 -> PyDev- > 编辑器 -> 代码样式 -> 代码格式化程序

我至少使用以下这些:

  • 保存前自动格式化
  • 修剪线合适吗?
  • 在文件末尾添加新行

#11楼

对于某些根本不支持删除尾随空格的编辑器(例如XML编辑器),您可以通过以下操作将其从所有行中删除:启用查找和替换,启用正则表达式,然后找到“ [\\ t] + $”,然后将其替换为“”(空白)。 可能有一个更好的正则表达式可以做到这一点,但是它对我有用,而无需安装AnyEdit。


#12楼

我将以下命令用于git: git config --global core.whitespace cr-at-eol

它删除尾随的^M字符。


#13楼

使用sed,一种Unix命令行工具,有一种非常简单的方法。 您可能可以在Eclipse中创建一个宏来运行此宏:

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

#14楼

您不需要任何插件。 例如,如果您编写JAVA代码,则可以擦除尾随空白以配置保存操作:

Eclipse 3.6

首选项 -> Java- > 编辑器 -> 保存操作 ->检查在保存时执行选定的操作 ->检查其他操作 ->单击Configure ..按钮。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值