RuboCop: Linia jest za długa ← Jak ignorować?


Odpowiedzi:


121

W swoim kodzie możesz wyłączyć kilka linii w ten sposób:

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

Lub dodaj to do swojego .rubocop.ymlpliku, aby zwiększyć maksymalną długość:

Metrics/LineLength:
  Max: 100

Gdzie to umieścić?
Abram

1
Skopiowałem więc ten plik github.com/bbatsov/rubocop/blob/master/config/default.yml, wprowadziłem zmiany i zrestartowałem Sublime , ale nadal widzę problem ...
Abram

3
Ach, widzę, gdzie popełniłem błąd. Zapomniałem o .in .rubocop.ymlRozumiem teraz, dzięki!
Abram

Wolę opcję Wyklucz: zamiast opcji Max :, jeśli wolisz wprowadzić zmiany w .yml zamiast lokalnie. Ponieważ Max zmienia regułę globalnie, a Wyklucz pozwala zarządzać kilkoma wyjątkami płatków śniegu. Kiedy jest ich więcej niż kilka, to wtedy czuję, że konieczna jest refaktoryzacja. Jeśli refaktoryzacja nie może pomóc, to wtedy rozważałbym edycję opcji Max :.
SMAG

66

Tworząc .rubocop.ymlplik (miej oko na inicjał .w nazwie pliku) w katalogu głównym projektu, będziesz miał kilka opcji (sprawdź komentarze, aby dowiedzieć się, jaka jest twoja wersja Rubocop, ponieważ zmienił się sposób obsługiLineLength ):

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

Po ostatnich zmianach w rubocop gem w wersji 0.78.0 18-12-2019, od teraz policjant LineLength przechodzi z działu Metrics do działu Layout. Więc w zasadzie, jeśli ktoś chce wyłączyć długie linie z użyciem numeru wersji wyższego niż 0.78.0, powinien to zrobić w ten sposób.

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

Również .rubocop.ymlkonfiguracja zostanie zmieniona na to.

Layout/LineLength:
  Max: 100

Aby dotrzeć do dzienników zmian rubocop, kliknij tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.