使用Rails4应用程序时,我希望Rubocop在检查行是否太长时忽略带有注释的行(只是一个注释或带有行尾注释的一些代码)。有没有办法做到这一点?
发布于 2014-10-14 08:19:57
有一种方法可以忽略每行的cops。
还有一种方法可以通过配置文件来实现。
运行rubocop --auto-gen-config
,它将生成一个文件,您可以使用该文件来禁用攻击。
该命令还提供了有关如何加载这些选项的提示。
在每行的基础上,您也可以启用和禁用cops。
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
您还可以在代码中一次执行多个规则。
# rubocop:disable BlockComments, AsciiComments
通过使用inline指令,该指令仅对该行有效,如下所示:
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
你可以在RuboCop的official manual上阅读更多关于它的内容。
要找到所有规则名称,值得查看in the rubocop config files
cyberwiz说-“在我需要规则名称的时候运行rubocop -D
,而不是查看文档。”更新:这现在是没有标志的默认行为。
-D
现在是默认的,所以我们现在可以免费获得它。
发布于 2017-03-16 19:37:57
可以定义正则表达式模式来自动忽略rubocop.yml
中的某些行,因此可以选择忽略所有以#
字符开头的行:
Layout/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
这可以改进,以便“缩进”注释行(即空格后跟#
字符)也被忽略,如果这是您想要的。
请注意,这不包括以注释结尾的代码行:
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
发布于 2019-03-05 00:54:47
您可以将以下注释与rubocop一起使用,以忽略特定规则:
# rubocop:disable Layout/LineLength
def this_could_be_a_very_long_line_that_extends_forever_into_infinity
end
# rubocop:enable Layout/LineLength
您还可以通过将文件添加到.rubocop.yml
来忽略整个文件
AllCops:
Exclude:
- path/to/file.rb
https://stackoverflow.com/questions/26342570
复制相似问题