【问题标题】:How to tell Checkstyle to check all lines for linefeed / newline LF and not CRLF?如何告诉 Checkstyle 检查换行/换行 LF 而不是 CRLF 的所有行?
【发布时间】:2015-10-02 08:38:03
【问题描述】:

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

我找到的唯一支票是

NewlineAtEndOfFile

但我只在文件末尾搜索更多内容?

【问题讨论】:

    标签: checkstyle


    【解决方案1】:

    只是为了补充 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 发布的,非常感谢他 - 为了完整起见,我将其发布在这里。

    【讨论】:

      【解决方案2】:

      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>
      

      【讨论】:

        猜你喜欢
        • 2011-06-18
        • 2018-06-20
        • 1970-01-01
        • 2013-12-28
        • 2010-12-19
        • 2011-02-06
        相关资源
        最近更新 更多