Eclipse Checkstyle禁用“行末有空格”

8
我正在使用Win 7上的eclipse。我也在使用checkstyle,并发现checkstyle抱怨注释中存在尾随空格。
我希望在checkstyle中禁用此检查,而不对我的环境进行任何修改,因为我希望与办公室中的其他开发人员共享checkstyle文件,并确保每个人都可以以相同的checkstyle "光" 查看代码 :)
我可以接受其他内置功能来解决这个问题。我已经尝试过:Ctrl+Shift+F和Ctrl+Alt+C。两者都不能自动修复尾随空格。
图片链接:https://istack.dev59.com/PXRzL.webp
3个回答

11

我已找到在checkstyle中禁用它的方法:

首选项 -> CheckStyle -> 正则表达式 -> 正则表达式单行 (禁用)


通过接受自己的答案来欺骗系统毫无意义,也不会给你带来任何积分。 - Martin Spamer
@MartinSpamer,不知道原始意图,但SO鼓励人们发布问题和答案,如果它对站点有用的话(http://stackoverflow.com/help/self-answer) - Jeffrey Martinez

5

打开窗口->选项->Java->编辑器->保存操作。

点击配置按钮。

代码组织选项卡中勾选删除行尾空格


1
谢谢Alexander,这改变了我的环境,但并没有改变check style的设置。check style的设置包含在一个xml文件中,我可以与其他开发人员共享。我已经找到了问题的答案,并将发布步骤。 - James Oravec

1
我认为更好的解决方案是教授Checkstyle忽略注释中包含尾随空格的行。
checkstyle.xml中:
<module name="RegexpSingleline">
    <property name="format" value="(?!\*)[^$]\s+$"/>
    <property name="minimum" value="0"/>
    <property name="maximum" value="0"/>
    <property name="message" value="Line has trailing spaces."/>
</module>

这一段基本上是在说:“投诉不包含星号(?!\*),后跟非行尾符[^$],然后是一个或多个空格\s+,最后是一个行尾符$的行。”

对于format属性,我发现我必须使用负回顾而不是负预测。我还认为[^$]匹配除美元符号外的所有内容,而不是换行符。这对我有用:<property name="format" value="(?&lt;!^\s+\*)\s+$"/>它并不完美,因为它将忽略任何以星号开头的行(无论您是否在Javadoc注释内),其末尾的空格。 - MZS
请参考 https://dev59.com/0V_Va4cB1Zd3GeqPYe88#12141786,这是一个更正确的正则表达式。 - leokom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接