RuboCop:线太长←如何忽略?


Answers:


120

在代码中,您可以禁用以下几行代码:

# rubocop:disable LineLength
puts "This line is lonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnng"
# rubocop:enable LineLength

或将其添加到.rubocop.yml文件中以增加最大长度:

Metrics/LineLength:
  Max: 100

我该放在哪里?
亚伯兰

1
所以我复制了这个文件github.com/bbatsov/rubocop/blob/master/config/default.yml并进行了更改并重新启动了sublime,但仍然看到了问题。–
Abram

3
啊,我知道哪里出了问题。我忘记了..rubocop.yml现在可以正常工作了,谢谢!
亚伯兰

如果您希望在.yml中而不是在本地进行更改,则我更喜欢使用Exclude:选项而不是Max:选项。随着Max全局更改规则,Exclude允许您管理一些雪花异常。当数量变得更多时,那就是我觉得需要进行重构的时候。如果重构无济于事,那我将考虑编辑Max:选项。
SMAG

66

在项目的根目录中创建一个.rubocop.yml文件(注意.文件名的首字母),您将有很多选择(检查注释以了解Rubocop版本用作处理方式的LineLength版本已更改):

Metrics/LineLength: # for Rubocop < 0.78.0
Layout/LineLength: # for Rubocop >= 0.78.0
  # This will disable the rule completely, regardless what other options you put
  Enabled: false
  # Change the default 80 chars limit value
  Max: 120
  # If you want the rule only apply to a specific folder/file
  Include:
    - 'app/**/*'
  # If you want the rule not to apply to a specific folder/file
  Exclude:
    - 'db/schema.rb'

3

随着rubocop gem版本0.78.0在2019年12月18日的最新更改,从现在起LineLength cop从度量衡部门转移到布局部门。因此,基本上,如果有人需要禁用版本号高于0.78.0的长行,则应这样做。

# rubocop:disable Layout/LineLength
  "I'm a really long line"
# rubocop:enable Layout/LineLength

.rubocop.yml配置改变了这一点。

Layout/LineLength:
  Max: 100

要获取rubocop更改日志,请单击此处

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.