2014-02-13 4 views
5

Ich habe CheckStyle gesetzt, um nach Zeilen mit mehr als 80 Zeichen in Eclipse zu suchen, und ich habe eine Randlinie in meinem Editor mit 80 Zeichen eingerichtet. Wenn ich meinen Cursor am Ende einer Codezeile in meinem Editor positioniere, lesen die Koordinaten (zum Beispiel) 1433, 77, was die 77. Zeichenspalte von links anzeigt - aber wenn ich CheckStyle über dieselbe Zeile führe, heißt es Die Zeile ist 88 Zeichen lang! Es gibt keine überflüssigen Tabulatoren oder andere Leerzeichen am Ende der Zeile, es ist definitiv 77 lang. Ist CheckStyle defekt?Was passiert mit CheckStyle's Zeilenlängenprüfung?

Antwort

8

von der Check Dokumentation:

die Berechnung der Länge einer Linie Rechnung für ein Tabulatorzeichen der Anzahl der erweiterten Räume nehmen (‚\ t‘). Die Standardanzahl von Leerzeichen ist 8. Um eine andere Anzahl von Leerzeichen anzugeben, kann der Benutzer die TreeWalker-Eigenschaft tabWidth festlegen, die für alle Prüfungen gilt, einschließlich LineLength; oder kann die Eigenschaft tabWidth für LineLength alleine setzen.

http://checkstyle.sourceforge.net/config_sizes.html#LineLength

dies in Eclipse zu tun:

  • öffnen Window-> Voreinstellungen aus dem Menü.
  • Wählen Sie Checkstyle.
  • Typ TreeWalker in das Suchfeld unter Bekannte Module.
  • Wählen Sie TreeWalker in der Liste auf der rechten Seite.
  • Klicken Sie auf Öffnen Sie.
  • Ändern der TabWidth bis 4.
  • Klicken Sie OK und OK wieder.
+0

Ha - das ist es, du hast Recht. Vielen Dank! –

1

Ist CheckStyle defekt?

Wahrscheinlich nicht.

Ich erwarte, dass Sie/Eclipse und CheckStyle eine andere Idee der Breite eines TAB-Zeichens haben. Es klingt, dass Sie denken, dass es 4 Leerzeichen bedeutet, während CheckStyle denkt, dass es 8 Zeichen bedeutet (sein Standard).

Eine Möglichkeit besteht darin, Eclipse so zu konfigurieren, dass keine TAB-Zeichen in der Quelldatei verwendet werden, und die Quelldateien erneut einzurücken.

Eine andere Möglichkeit besteht darin, CheckStyle und Eclipse für die TAB-Breite zu verwenden. z.B. siehe @ MartinEllis Antwort.

(ich ziehe den ersten Ansatz, weil es bedeutet, dass Code meiner Quelle korrekt gegliederten aussehen wird, und zwar unabhängig von der Standard-TAB Breite der Plattform,. ZB Windows im Vergleich zu Linux/Unix Fest TAB Zeichen im Quellcode sind eine schlechte Idee.)