Подтвердить что ты не робот

Rubocop Linelength: Как игнорировать строки с комментариями?

Используя приложение Rails 4, я хотел бы, чтобы Rubocop игнорировал строки с комментариями (просто комментарий или некоторый код с комментарием конца строки) при проверке длинной строки. Есть ли способ сделать это?

4b9b3361

Ответ 1

Существует способ игнорировать полицейских в каждой строке.

Существует также способ сделать это через файл конфигурации.

Запустите rubocop --auto-gen-config и он сгенерирует файл, который вы можете использовать для отключения нарушений.

Команда также дает понять, что делать, чтобы загрузить эти параметры.

В строке на строку можно включить и отключить копов.

# rubocop:disable RuleByName
This is a long line 
# rubocop:enable RuleByName

Вы также можете выполнять более одного правила за раз в своем коде.

# rubocop:disable BlockComments, AsciiComments

Используя директиву inline, директива становится действительной только для этой строки, и она будет выглядеть так:

# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule

Вы можете прочитать больше о RuboCop в своем официальном руководстве.

Чтобы найти все имена правил, стоит посмотреть в файлах конфигурации rubocop

cyberwiz говорит: " rubocop -D когда мне нужны имена правил, а не смотрите в документации". Обновление: теперь это поведение по умолчанию без флага.

Ответ 2

Можно определить шаблоны регулярных выражений для автоматического игнорирования определенных строк в rubocop.yml, поэтому вы можете игнорировать все строки, начинающиеся с символа #:

Metrics/LineLength:
  Max: 80
  IgnoredPatterns: ['\A#']

Это может быть улучшено, так что строки с "отступом" (т.е. пробелы, за которыми следует символ #) также игнорируются, если это то, что вы хотите.

Обратите внимание, что это не учитывает строки кода, которые заканчиваются комментарием:

some_code(that_does_something) # This line would NOT be ignored by Rubocop.

Ответ 3

Я думаю, основная идея здесь заключается в том, что вы хотите обеспечить длину строки, независимо от того, что после n символов. по умолчанию 80 символов - это некоторый кусок груза для старых окон терминала, которые могут содержать только это количество символов. единственный вариант, который я видел в коде, - это опция, позволяющая URL-адресам, которые могут превышать лимит символов.

вы можете игнорировать целые файлы, я думаю, что не то, что вы ищете.