RuboCop: Line is too long ← How to Ignore?

2020-05-13 20:31发布

问题:

I just added RuboCop to a rails project and installed the Sublime package to see RuboCop suggestions in the editor. I'm trying to figure out how to change the maximum line length from 80 characters, or just ignore the rule completely.

Currently in use:

  • RuboCop (gem)
  • Sublime RuboCop
  • SublimeLinter-rubocop

回答1:

In your code, you can disable a bunch of lines like this:

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

Or add this to your .rubocop.yml file to increase the max length:

Metrics/LineLength:
  Max: 100


回答2:

Creating a .rubocop.yml file (keep an eye on the initial . in the filename) in the root of your project, you'll have a bunch of options:

Metrics/LineLength:
  # 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:

With latest changes at rubocop gem version 0.78.0 at 18-12-2019, from now on LineLength cop move from Metrics department to Layout department. So basically if any one need to disable long lines with using version number higher than 0.78.0 should do it like this.

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

Also .rubocop.yml configuration is changed to this.

Layout/LineLength:
  Max: 100

For reaching rubocop change logs, click here