Answers:
有一种方法可以按行忽略警察。
还有一种方法可以通过配置文件来完成。
运行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的更多信息。
要找到所有值得在rubocop配置文件中查找的规则名称
cyberwiz说-“ rubocop -D
在我需要规则名称而不是在文档中查找时运行。” 更新:这是不带标志的默认行为。
#!/bin/env ruby
注释行也是注释,但仍是代码,并且在语义上很重要。评论并不总是唯一的“评论”。
可以定义正则表达式模式来自动忽略中的某些行rubocop.yml
,因此您可以选择忽略以#
字符开头的所有行:
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
可以对此进行改进,以便“缩进”注释行(即空格后跟一个#
字符)也可以忽略,如果您要这样做的话。
请注意,尽管如此,这并不说明以注释结尾的代码行:
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
IgnorePatterns: ['(\A|\s)#']
IgnoredPatterns
改错了IgnorePatterns
(它缺少字母“ d”)。
您可以在rubocop中使用以下注释来忽略特定规则:
# rubocop:disable Metrics/LineLength
def this_could_be_a_very_long_line_that_extends_forever_into_infinity
end
# rubocop:enable Metrics/LineLength
您还可以通过将整个文件添加到来忽略整个文件.rubocop.yml
:
AllCops:
Exclude:
- path/to/file.rb
我认为这里的基本思想是,无论n个字符之后是什么,您都希望强制行长。默认值为80个字符,是一些旧终端窗口的货运崇拜,只能容纳该数量的字符。我在代码中看到的唯一选项是允许URL可能超出字符数限制的选项。
您可以忽略整个文件,我想这不是您想要的。