【发布时间】:2015-10-02 08:38:03
【问题描述】:
有没有办法在 checkstyle 中检查文件是否仅使用 LF 而没有使用 CRLF,反之亦然?
我找到的唯一支票是
NewlineAtEndOfFile
但我只在文件末尾搜索更多内容?
【问题讨论】:
标签: checkstyle
有没有办法在 checkstyle 中检查文件是否仅使用 LF 而没有使用 CRLF,反之亦然?
我找到的唯一支票是
NewlineAtEndOfFile
但我只在文件末尾搜索更多内容?
【问题讨论】:
标签: checkstyle
只是为了补充 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 发布的,非常感谢他 - 为了完整起见,我将其发布在这里。
【讨论】:
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>
【讨论】: