RuboCop: Linie ist zu lang ← Wie zu ignorieren?


Antworten:


119

In Ihrem Code können Sie eine Reihe von Zeilen wie folgt deaktivieren:

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

Oder fügen Sie dies Ihrer .rubocop.ymlDatei hinzu, um die maximale Länge zu erhöhen:

Metrics/LineLength:
  Max: 100

Wo lege ich das hin?
Abram

1
Also habe ich diese Datei github.com/bbatsov/rubocop/blob/master/config/default.yml kopiert und die Änderung vorgenommen und sublime neu gestartet, sehe aber immer noch das Problem.
Abram

3
Ah, ich sehe, wo ich falsch gelaufen bin. Ich habe vergessen , die .in .rubocop.ymlhabe es funktioniert jetzt Dank!
Abram

Ich bevorzuge die Option Ausschließen: gegenüber der Option Max:, wenn Sie die Änderung lieber in der .yml als lokal vornehmen möchten. Wenn der Max die Regel global ändert und der Ausschluss es Ihnen ermöglicht, die wenigen Schneeflockenausnahmen zu verwalten. Wenn es mehr als ein paar werden, dann denke ich, dass Refactoring stattfinden muss. Wenn Refactoring nicht helfen kann, würde ich in Betracht ziehen, die Option Max: zu bearbeiten.
SMAG

65

Eine Erstellen von .rubocop.ymlDatei (auf dem Anfang ein Auge .in der Wurzel Ihres Projektes im Dateinamen), werden Sie eine Reihe von Optionen (Kontroll Kommentare für das, was Ihre Rubocop Version als verwendet wurde , haben die Art und Weise zu handhaben LineLengthhat dich geändert ):

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

Mit den neuesten Änderungen bei Rubocop Gem Version 0.78.0 am 18-12-2019 wechselt LineLength Cop von nun an von der Metrikabteilung in die Layoutabteilung. Wenn also jemand lange Leitungen mit einer Versionsnummer über 0.78.0 deaktivieren muss, sollte dies folgendermaßen geschehen.

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

Auch die .rubocop.ymlKonfiguration wird geändert.

Layout/LineLength:
  Max: 100

Klicken Sie hier, um zu den Rubocop-Änderungsprotokollen zu gelangen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.