在我的.rubocop.yml中,有一些配置用于禁用某些样式警察。
Documentation:
Enabled: false
ClassAndModuleChildren:
Enabled: false
LineLength:
Max: 120
GuardClause:
Enabled: false
IfUnlessModifier:
Enabled: false
在终端中运行rubocop
时,它可以正常工作,并像往常一样禁用不需要的样式警察和皮棉,但是每次运行时,对于所有禁用的警察,我都会收到此警告错误:
Warning: no department given for Documentation.
是否有禁用警告消息的方法?
答案 0 :(得分:6)
合格的警察名称为Department/CopName
。例如,Style/Documentation
是合格的,而Documentation
是不合格的。
建议使用其类型(例如
Style
)来限定警察名称,但是只要警察名称在所有类型中都是唯一的,就没有必要。
但是,它们会为不合格名称显示警告。发生here:
# RuboCop::Cop::Registry
def qualified_cop_name(name, path, shall_warn = true)
badge = Badge.parse(name)
if shall_warn && department_missing?(badge, name)
print_warning(name, path)
end
return name if registered?(badge)
potential_badges = qualify_badge(badge)
case potential_badges.size
when 0 then name # No namespace found. Deal with it later in caller.
when 1 then resolve_badge(badge, potential_badges.first, path)
else raise AmbiguousCopName.new(badge, path, potential_badges)
end
end
当使用shall_warn
选项时, false
仅是--auto-correct
。目前尚无法禁用它。
使警告静音的唯一方法是在配置中包括每个警察的部门,例如:
Style/Documentation:
Enabled: false
Style/ClassAndModuleChildren:
Enabled: false
Metrics/LineLength:
Max: 120
Style/GuardClause:
Enabled: false
Style/IfUnlessModifier:
Enabled: false