Eclipse格式化程序在空注释行中添加空格

Elb*_*ian 40 eclipse javadoc code-formatting

eclipse代码格式化程序在每个空的Javadoc注释行中添加一个尾随空格(参见屏幕截图).

在此输入图像描述

同事的格式化程序总是删除那些空格(从而产生烦人的SVN差异).他声称使用相同的格式化设置(XML文件).不过,我尝试了格式化设置页面的评论标签中的所有选项 - 没有成功.

它可以是eclipse版本之间的区别吗?(我相信使用的是Springsource Tool Suite 2.7.1,它基于Helios)

Zhe*_*lov 11

转到首选项 - > Java - >编辑器 - >保存操作,然后选择格式化已编辑的行.

应用更改后,将删除Javadoc中的所有尾随空格

注意:还必须启用"附加操作" - >"删除所有行上的尾随空格".

  • "删除所有行上的尾随空格"不适用于块注释.至少对于JS编辑器下的相同设置. (3认同)
  • 这只会根据格式化样式格式化注释,默认情况下会添加空格,所以我看不出这会有什么帮助. (2认同)

Ste*_*roy 11

我发现如果你去Preferences ? Java ? Editor ? Content Assist ? Save Actions大多数时间进行以下配置工作:

  • ☑在保存时执行选定的操作
    • ☐格式化源代码
  • ☑其他行动
    • 删除所有行上的尾随空格

(也就是说,关闭Format source code的选项Save Actions,但保持Remove trailing white spaces on all linesAdditional actions上.)

格式化程序和保存操作将其解决,但保存操作似乎在大多数情况下都会胜出.这样做的缺点是您需要定期手动格式化代码.

这是使用Eclipse Juno.


小智 8

我也有这个问题并通过在Eclipse中进行搜索/替换来解决它.

  1. 转到" 搜索" >" 文件",确保选中"正则表达式".
  2. ^([\s]+\*)([\s]+)$在包含文本字段中输入字符串.
  3. 将搜索范围限制为*.java文件名模式
  4. 按"替换(不搜索)"按钮
  5. 确保在"替换"框中选中正则表达式,并使用字符串$ 1作为替换.随意更换.

这样做的是搜索以包含*的空白字符开头的行,然后是空格而不是其他内容.然后它用正则表达式的第一个匹配部分替换整行,这只是注释行的初始间距和*.

  • 正则表达式应该是`^([\ s] +\*)([\ s] +)$`,这是它在帖子中的写法,但它被转义,显然编辑需要6个字符. (2认同)

小智 7

有关可能的解决方法,请参阅https://bugs.eclipse.org/bugs/show_bug.cgi?id=360523.

  • 关闭此功能不是一个很好的解决方法. (3认同)