Mit einer Rails 4 App möchte ich, dass Rubocop Zeilen mit Kommentaren ignoriert (nur einen Kommentar oder einen Code mit einem Zeilenende-Kommentar), wenn überprüft wird, ob eine Zeile zu lang ist. Gibt es eine Möglichkeit, dies zu tun?Rubocop Linelänge: Wie Linien mit Kommentaren zu ignorieren?
Antwort
Ich denke, die Grundidee hier ist, dass Sie die Zeilenlänge erzwingen wollen, egal was nach n Zeichen ist. Der Standard auf 80 Zeichen ist ein Cargo-Kult für alte Terminalfenster, die nur diese Anzahl von Zeichen enthalten konnten. Die einzige Option, die ich sah in the code ist eine Option, um URLs zu erlauben, die die Zeichengrenze überschreiten könnten.
können Sie ignore whole files, ich denke, das ist nicht das, was Sie suchen.
Es gibt eine Möglichkeit, Polizisten pro Zeile zu ignorieren.
Es gibt auch eine Möglichkeit, es über die Konfigurationsdatei zu tun.
Führen Sie rubocop --auto-gen-config
und es wird eine Datei generieren, mit der Sie die Straftaten deaktivieren können.
Der Befehl gibt auch einen Hinweis darauf, was zu tun ist, um diese Optionen zu laden.
Auf Zeilenbasis können Sie die Cops auch aktivieren und deaktivieren.
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
Sie können auch mehr als eine Regel gleichzeitig in Ihrem Code ausführen.
# rubocop:disable BlockComments, AsciiComments
Durch eine Inline-Direktive, wird die Richtlinie für die Linie nur gültig, und es würde wie folgt aussehen:
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
Sie eine Tonne mehr über RuboCop in seiner official manual lesen kann.
Um alle Regelnamen ihren Wert suchen in the rubocop config files
cyberwiz sagt zu finden - „laufen rubocop -D
, wenn ich die Regelnamen müssen nicht in der Dokumentation suchen“
so mehr Kommentare um Kommentare \ o/aber es wird die Arbeit erledigt bekommen – phoet
Nun, die Kommentare können die Abweichung von einem Stil erklären, der von der Mannschaft akzeptiert wurde, also ist das keine schlechte Sache, oder? Andernfalls platzieren Sie es in der Datei rubocop.yml, und dann ist es keine akzeptierte Stilausnahme und es ist kein Kommentar erforderlich. Der Kommentar sagt "Ich wollte das machen!". Keine schlechte Sache. – vgoff
Kommentare sind kein Code, also ist die Überprüfung semantisch anders und IMO rubocop sollte es so behandeln. – phoet
Es ist möglich, regex Muster zu definieren, um automatisch zu ignorieren bestimmte Linien in rubocop.yml
, so dass Sie alle Zeilen beginnend mit einem #
Zeichen zu ignorieren wählen könnten:
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
Dies verbessert werden könnte, so dass „gegliederte“ Kommentarzeilen (Whitespace gefolgt von einem #
Zeichen) werden ebenfalls ignoriert, wenn Sie das möchten.
Beachten Sie, dass dies nicht berücksichtigt Codezeilen, die Ende mit einem Kommentar, aber:
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
Alle Einstellungen: https://github.com/bbatsov/rubocop/blob/master/config/default.yml – hlcs
Sie können diese Regexp um Zeilen erweitern, die Whitespaces enthalten können: 'IgnorePatterns: ['(\ A | \ s) # '] ' – poustovitss
** Danke ** @poustovitss. Es gibt einen Tippfehler: Es sollte "IgnoredPatterns" statt "IgnorePatterns" sein (es fehlt der Buchstabe "d"). – Horacio
- 1. Wie integriere ich rubocop mit Rake?
- 2. oauth rubocop aufzuräumen Unterstützung
- 3. RuboCop: Linie ist zu lang <- Wie ignoriere ich
- 4. Wie kann ich Rubocop-Konventionen unterdrücken?
- 5. Wie wird Rubocop Regel anzuzeigen, wenn
- 6. Wie kann ich ternäre Klammern mit RuboCop erzwingen?
- 7. bash Befehl mehrere Zeilen mit mehreren Linien von Kommentaren in-zwischen
- 8. Emacs fill-paragraph, um mit javadoc-artigen Kommentaren zu spielen
- 9. Atomeditor: linter-rubocop plugin Konfigurationsfehler
- 10. Hinzufügen von Kommentaren und Kommentaren/Antworten mit dem PDF-Feld
- 11. WinMerge: wie Kommentare zu ignorieren
- 12. Wie fügt man Linien zu 3D hinzu?
- 13. Fabric.js wie Opazität von Linien zu setzen
- 14. wie gezackte Linien in Leinwand zu entfernen?
- 15. Wie Linien auf einem TextView zu begrenzen
- 16. Wie Dired zu bekommen Dateien zu ignorieren, mit bestimmten Erweiterungen
- 17. Hinzufügen von Kommentaren zu XML-Dokumenten
- 18. Wie kann ich Codezeilen für Clover zu ignorieren ignorieren?
- 19. Suche nach festgeschriebenen Dateien zu Kommentaren
- 20. rubocop String Interpolation und Größe Bedingung
- 21. Was ist "Ambiguous regexp literal" in rubocop?
- 22. Hinzufügen von Zeilenumbrüchen zu Kommentaren für Intellisense
- 23. Rubocop: Wie kann ich ein Dateinamenmuster von einer Metrik ausschließen?
- 24. OpenGL: Linien mit Shadern
- 25. Wie Pull Requests auf GitHub von Kommentaren Autoren zu filtern?
- 26. Hinzufügen von Kommentaren zu YAML erstellt mit PyYaml
- 27. Gibt es eine Möglichkeit, XAML mit Kommentaren zu kommentieren?
- 28. Hinzufügen von Kommentaren zu einer JPEG-Datei mit C#
- 29. Welche Informationen in Xml-Kommentaren zu liefern?
- 30. Wie SQL mit Kommentaren und GO-Anweisungen mit SqlConnection ausführen?
diesen Tagen ist die Idee, die hinter 80 Zeichen ist nicht so sehr „Cargo-Kult“ für die Terminal, es gibt immer noch einen logischen Grund dafür: Jeder kann seinen Editor oder seine IDE-Fenster beliebig teilen, und solange sie nur mehr als 80 Zeichen haben, müssen sie weder die Breite noch das Wrapping ändern. –
IMO Wenn Sie keine IDE haben, die weiches Wrapping unterstützt, sind Ihre Werkzeuge nicht auf dem neuesten Stand. – phoet
80 Zeichen ist auch ziemlich lesbar, während 40 oder 200 ist weniger so, so ist es auch eine Usability-Sache –