Rubocop Linelength:如何忽略带注释的行?

使用Rails 4应用程序时,我想要Rubocop在检查一行是否很长时忽略包含注释的行(只是一个注释或一些带行尾注释的代码)。 有没有办法做到这一点?

    有一种方法可以在每行的基础上忽略警察。

    还有一种方法可以通过configuration文件来完成。

    运行rubocop --auto-gen-config ,它会生成一个文件,可以用来禁用这个rubocop --auto-gen-config

    该命令还提供了如何加载这些选项的提示。

    在每行的基础上,您也可以启用和禁用警察。

     # rubocop:disable RuleByName This is a long line # rubocop:enable RuleByName 

    您也可以在代码中一次执行多个规则。

     # rubocop:disable BlockComments, AsciiComments 

    通过使用内联指令,该指令只对该行有效,它看起来像这样:

     # Thanks to @jnt30 for the comment! method(argument) # rubocop:disable SomeRule, SomeOtherRule 

    您可以在官方手册中阅读更多关于RuboCop的内容。

    要find所有规则名称,在rubocopconfiguration文件中查找它的值得

    cyberwiz说 – “当我需要规则名称而不是查看文档时运行rubocop -D 。”

    可以定义正则expression式来自动忽略rubocop.yml某些行,因此您可以select忽略以#开头的所有行:

     Metrics/LineLength: Max: 80 IgnoredPatterns: ['\A#'] 

    这可以改进,以便“缩进”的注释行(即空格后跟一个#字符)也被忽略,如果这是你想要的。

    请注意,这不包含以评论结尾的代码行,但是:

     some_code(that_does_something) # This line would NOT be ignored by Rubocop. 

    我认为这里的基本思想是你要强制行长,不pipen字符后面是什么。 默认为80个字符是一些旧的terminal窗口,只能容纳这个字符数的货物邪教。 我在代码中看到的唯一选项是允许可能超出字符数限制的URL。

    你可以忽略整个文件 ,我想这不是你要找的。