VSCode / Rubocop жалуется на ненастроенных копов - PullRequest
4 голосов
/ 08 апреля 2020

Я недавно обновил rubocop для драгоценного камня, над которым я работаю. Когда я открываю файл ruby в проекте с помощью VSCode, я получаю следующее предупреждение:

The following cops were added to RuboCop, but are not configured. Please set Enabled to either `true` or `false` in your `.rubocop.yml` file:
 - Lint/RaiseException (0.81)
 - Lint/StructNewOverride (0.81)
 - Style/HashEachMethods (0.80)
 - Style/HashTransformKeys (0.80)
 - Style/HashTransformValues (0.80)
For more information: https://docs.rubocop.org/en/latest/versioning/

Вот мой .rubocop.yml файл:

Metrics/MethodLength:
  Max: 20
Layout/LineLength:
  Max: 100
AllCops:
  Exclude:
    - 'spec/**/*'

Когда я посещаю url в предупреждении упоминается добавление параметра NewCops следующим образом:

Metrics/MethodLength:
  Max: 20
Layout/LineLength:
  Max: 100
AllCops:
  NewCops: enable
  Exclude:
    - 'spec/**/*'

Однако я получаю новое предупреждение:

Warning: AllCops does not support NewCops parameter.

Supported parameters are:

  - RubyInterpreters
  - Include
  - Exclude
  - DefaultFormatter
  - DisplayCopNames
  - DisplayStyleGuide
  - StyleGuideBaseURL
  - ExtraDetails
  - StyleGuideCopsOnly
  - EnabledByDefault
  - DisabledByDefault
  - UseCache
  - MaxFilesInCache
  - CacheRootDirectory
  - AllowSymlinksInCacheRootDirectory
  - TargetRubyVersion
The following cops were added to RuboCop, but are not configured. Please set Enabled to either `true` or `false` in your `.rubocop.yml` file:
 - Lint/RaiseException (0.81)
 - Lint/StructNewOverride (0.81)
 - Style/HashEachMethods (0.80)
 - Style/HashTransformKeys (0.80)
 - Style/HashTransformValues (0.80)
For more information: https://docs.rubocop.org/en/latest/versioning/

Warning указывает мне включить каждого из этих новых полицейских по отдельности, но у документов, похоже, есть более простое решение, которое не работает. Что я тут не так делаю?

Ответы [ 2 ]

4 голосов
/ 09 апреля 2020

У меня такая же проблема здесь. Параметр NewCops внутри AllCops не распознается, поэтому есть только один способ сделать это: отключить или включить каждого полицейского по отдельности, например так:

Lint/RaiseException:
  Enabled: false
Lint/StructNewOverride:
  Enabled: false
Style/HashEachMethods:
  Enabled: false
Style/HashTransformKeys:
  Enabled: false
Style/HashTransformValues:
  Enabled: false

Надеюсь, это было полезно.

1 голос
/ 09 апреля 2020

Параметр NewCops пока не поддерживается. Тем не менее, он будет поддерживаться в следующем выпуске Rubocop. Рядом с этим параметром вы также сможете использовать параметры командной строки --enable-pending-cops и --disable-pending-cops.

На данный момент решение EL Zakariae - единственный способ удалить это предупреждение.

Вы можете найти соответствующий запрос здесь .

...