如何告诉Checkstyle检查换行/换行LF而不是CRLF的所有行?

时间:2015-10-02 08:38:03

标签: checkstyle

有没有办法在checkstyle中检查文件是仅使用LF还是没有CRLF,反之亦然?

我找到的唯一支票是

NewlineAtEndOfFile

但我只搜索文件末尾的更多信息?

2 个答案:

答案 0 :(得分:3)

Checkstyle中没有任何开箱即用的功能。如果要禁止CRLF,可以使用以下配置:

<module name="RegexpMultiline">
    <property name="format" value="\r\n"/>
    <property name="message" value="CRLF line endings are prohibited"/>
</module>

这个禁止LF:

<module name="RegexpMultiline">
    <property name="format" value="(?<!\r)\n"/>
    <property name="message" value="LF line endings are prohibited"/>
</module>

答案 1 :(得分:3)

只是为了补充Michal Kordas的好答案。

下面是略微修改的配置,它只会匹配第一个错误的换行符,并且还禁止Mac OS线路结尾(CR):

<module name="RegexpMultiline">
    <property name="format" value="(?s:(\r\n|\r).*)"/>
    <property name="message" value="CRLF and CR line endings are prohibited, but this file uses them."/>
</module>

Michael Vorburger in this discussion发布了这个帖子,对他来说很赞赏 - 我已经在这里发布了它的完整性。