簡體   English   中英

CheckStyle的線長檢查發生了什么?

[英]What's going on with CheckStyle's line length check?

我設置CheckStyle以檢查Eclipse中超過80個字符的行,並且我在編輯器中設置了80個字符的邊距行。 如果我將光標放在編輯器中一行代碼的末尾,則坐標讀取(例如)1433,77,表示左邊第77個字符列 - 但是當我在同一行上運行CheckStyle時它說這行是88個字符長! 在行的末尾沒有無關的制表符或其他空白字符,它肯定是77長。 CheckStyle壞了嗎?

從Checkstyle文檔:

行的長度的計算考慮了制表符('\\ t')的擴展空格的數量。 默認空格數為8.要指定不同數量的空格,用戶可以設置適用於所有檢查的TreeWalker屬性tabWidth,包括LineLength; 或者可以單獨為LineLength設置屬性tabWidth。

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

要在Eclipse中執行此操作:

  • 從菜單中打開窗口 - >首選項。
  • 選擇Checkstyle
  • 已知模塊下的搜索框中鍵入TreeWalker
  • 在右側列表中選擇TreeWalker
  • 單擊打開
  • tabWidth更改為4。
  • 單擊確定 ,再次單擊確定

CheckStyle壞了嗎?

可能不是。

我希望你/ Eclipse和CheckStyle對TAB字符的寬度有不同的看法。 聽起來你覺得它意味着4個空格,而CheckStyle認為它意味着8個字符(默認)。

解決此問題的一種方法是將Eclipse配置為不在源文件中使用TAB字符,然后重新縮進源文件。

另一種方法是使用CheckStyle和Eclipse在TAB寬度上達成一致; 例如,請參閱@ MartinEllis的回答。

(我更喜歡第一種方法,因為它意味着我的源代碼看起來會正確縮進,而不管平台的默認TAB寬度;即Windows與Linux / Unix。源代碼中硬TAB字符是個壞主意 。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM