警告:无法识别的警察 Rails/

Warning: unrecognized cop Rails/

我在 Vs-code 中遇到 Rubocop 问题。我收到错误

Warning: unrecognized cop Rails/ActionFilter found in /path/to/yml/with/cops
...
Warning: unrecognized cop Rails/Output found in
...
Warning: unrecognized cop Rails/UnknownEnv found in
...
# The list goes on...

我运行:

Rubocop 版本 rubocop-0.76.0

VS-code 版本:1.39.2

ruby-vs 代码中的 rubocop 扩展:0.8.1

macOS Catalina:10.15(问题存在于早期版本,如 mojave)


我发现对这个问题知之甚少。我发现的基本上只有 this。我的 rspec yml 文件中已经有 require rubocop-rspec,因此该线程的提案没有成功。

我该怎么做才能解决这个问题?我的同事很快就会开始称呼我 Mr.棉绒故障

rubocop 警告似乎阻止了 rubocop 完成。在您的 rubocop 版本中,应该有一个名为 suppressRubocopWarnings 的设置,如果您知道不需要处理警告,请尝试检查。

您可以通过键入 cmd+shift+p 并键入“打开用户设置”来完成此操作。 在那里你可以搜索 rubocop 并选中 suppressRubocopWarnings 复选框,重新启动 VSCode 它应该可以工作。

如果您使用的是较旧版本的 VSCode 而没有花哨的 UI,您应该能够在您的用户设置 json 中添加 "ruby.rubocop.suppressRubocopWarnings": true,

如果您在多个项目之间共享一个 rubocop.yml 文件,收到此类警告似乎很常见。

来源:https://github.com/misogi/vscode-ruby-rubocop/pull/97

以防万一你碰巧像我一样从另一个项目复制了 .rubocop.yml 文件,在我的例子中,我只是忘记添加 rubocop-rails gem,其中包括Rails/警察.

像安装任何其他软件一样安装它 gem 并在您的 .rubocop.yml 文件中要求它:

# Gemfile

gem 'rubocop', require: false
gem 'rubocop-rails', require: false

$ bundle install
# .rubocop.yml

require: rubocop-rails
$ rubocop