RuboCop: Строка слишком длинная ← Как игнорировать?

Я только что добавил RuboCop в проект рельсов и установил пакет Sublime, чтобы увидеть предложения RuboCop в редакторе. Я пытаюсь понять, как изменить максимальную длину строки с 80 символов или просто полностью игнорировать правило.

В настоящее время используется:


person Abram    schedule 14.05.2016    source источник


Ответы (3)


В своем коде вы можете отключить кучу таких строк:

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

Или добавьте это в свой .rubocop.yml файл, чтобы увеличить максимальную длину:

Metrics/LineLength:
  Max: 100
person Stéphane Bruckert    schedule 14.05.2016
comment
Куда мне это поставить? - person Abram; 14.05.2016
comment
Поэтому я скопировал этот файл github.com/bbatsov/rubocop/blob/master /config/default.yml, внес изменения и перезапустил возвышенное, но проблема все еще видна .. - person Abram; 14.05.2016
comment
Ах, я понимаю, где я ошибся. Я забыл . в .rubocop.yml Теперь все заработало, спасибо! - person Abram; 14.05.2016
comment
Я предпочитаю параметр Exclude :, а не параметр Max :, если вы предпочитаете вносить изменения в .yml, а не локально. Поскольку Макс изменяет правило глобально, а Исключить позволяет управлять несколькими исключениями снежинок. Когда их становится больше, чем несколько, я чувствую, что нужно провести рефакторинг. Если рефакторинг не может помочь, тогда я бы подумал об изменении параметра Max :. - person SMAG; 04.12.2018

Создав файл .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'
person Alter Lagos    schedule 09.09.2016

С последними изменениями в rubocop gem версии 0.78.0 от 18-12-2019, теперь сотрудник LineLength переходит из отдела метрик в отдел верстки. Так что в основном, если кому-то нужно отключить длинные строки с использованием номера версии выше 0.78.0, следует сделать это так.

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

Также .rubocop.yml конфигурация изменена на это.

Layout/LineLength:
  Max: 100

Чтобы получить доступ к журналам изменений rubocop, нажмите здесь

person Semih Arslanoğlu    schedule 13.03.2020