Используя приложение Rails 4, я хотел бы, чтобы Rubocop игнорировал строки с комментариями (просто комментарий или некоторый код с комментарием конца строки) при проверке длинной строки. Есть ли способ сделать это?
Rubocop Linelength: Как игнорировать строки с комментариями?
Ответ 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-адресам, которые могут превышать лимит символов.
вы можете игнорировать целые файлы, я думаю, что не то, что вы ищете.