Antworten:
Es gibt eine Möglichkeit, Polizisten pro Zeile zu ignorieren.
Es gibt auch eine Möglichkeit, dies über die Konfigurationsdatei zu tun.
Führen Sie es aus rubocop --auto-gen-config
und es wird eine Datei generiert, mit der Sie die Verstöße deaktivieren können.
Der Befehl gibt auch einen Hinweis darauf, wie diese Optionen geladen werden müssen.
Zeile für Zeile können Sie auch die Polizei aktivieren und deaktivieren.
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
Sie können in Ihrem Code auch mehrere Regeln gleichzeitig ausführen.
# rubocop:disable BlockComments, AsciiComments
Wenn Sie eine Inline-Direktive verwenden, wird die Direktive nur für diese Zeile gültig und sieht folgendermaßen aus:
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
Sie können eine Menge mehr über RuboCop in seinem offiziellen Handbuch lesen .
Um alle Regelnamen zu finden, sollten Sie in den Rubocop-Konfigurationsdateien nachsehen
Cyberwiz sagt: "Führen Sie aus, rubocop -D
wenn ich die Regelnamen benötige, anstatt in der Dokumentation nachzuschauen ." Update : Dies ist jetzt das Standardverhalten ohne Flag.
#!/bin/env ruby
Kommentarzeile ein Kommentar und dennoch ein Code und semantisch wichtig. Kommentare sind nicht immer nur "Kommentare".
Es ist möglich, Regex-Muster zu definieren, um bestimmte Zeilen in automatisch zu ignorieren. rubocop.yml
Sie können also alle Zeilen ignorieren, die mit einem #
Zeichen beginnen:
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
Dies könnte verbessert werden, so dass "eingerückte" Kommentarzeilen (dh Leerzeichen gefolgt von einem #
Zeichen) ebenfalls ignoriert werden, wenn Sie dies wünschen.
Beachten Sie, dass dies keine Codezeilen berücksichtigt, die mit einem Kommentar enden :
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
IgnorePatterns: ['(\A|\s)#']
IgnoredPatterns
stattdessen sein IgnorePatterns
(es fehlt der Buchstabe 'd').
Mit rubocop können Sie den folgenden Kommentar verwenden, um eine bestimmte Regel zu ignorieren:
# rubocop:disable Metrics/LineLength
def this_could_be_a_very_long_line_that_extends_forever_into_infinity
end
# rubocop:enable Metrics/LineLength
Sie können auch ganze Dateien ignorieren, indem Sie sie hinzufügen zu .rubocop.yml
:
AllCops:
Exclude:
- path/to/file.rb
Ich denke, die Grundidee hier ist, dass Sie die Zeilenlänge erzwingen möchten, egal was nach n Zeichen steht. Die Standardeinstellung von 80 Zeichen ist ein Frachtkult für alte Terminalfenster, die nur diese Anzahl von Zeichen enthalten können. Die einzige Option, die ich im Code gesehen habe, ist eine Option, um URLs zuzulassen, die die Zeichenbeschränkung überschreiten könnten.
Sie können ganze Dateien ignorieren , ich denke, das ist nicht das, wonach Sie suchen.