2015-02-11 333 views
7

在CheckStyle中有一個模塊(File Tab Character),用於檢查源代碼中是否有製表符。他們的理由是:如何使用CheckStyle要求製表符縮進?

  • 開發商不應該需要配置的文本編輯器的標籤寬度,以便能夠讀取源代碼。
  • 從Apache jakarta編碼標準:在分佈式開發環境中,當提交消息被髮送到郵件列表時,如果您使用選項卡,則幾乎不可能讀取它們。

爲了確保有空格正確的號碼,有一個附加模塊(Indentation)。

我更喜歡使用製表符縮進,並希望將此要求添加到我的CheckStyle文件。我的理由:

  • 開發人員應該配置用於縮進
  • 標籤是縮進一個邏輯和可配置的單位空間的機會,n spaces是空間只是一個任意號碼。

不幸的是我找不到用CheckStyle做到這一點的一種方法。

回答

7

沒有這樣做的現成檢查,但您可以相應地配置RegexpSinglelineJava檢查。下面的配置進入你checkstyle.xmlTreeWalker下:

<module name="RegexpSinglelineJava"> 
    <property name="format" value="^\t* "/> 
    <property name="message" value="Indent must use tab characters"/> 
    <property name="ignoreComments" value="true"/> 
</module> 

它檢查是否有縮進空間。設置ignoreComments消除了Javadoc評論在星號前至少有一個空格的問題。

+3

順便說一句,如果你想查詢的Javadoc壓痕,太,你可以使用'^ \ t *(?! \ *)'(注意最後的空格!)作爲'format'正則表達式並移除'ignoreComments'屬性。味道的問題。 – 2015-02-17 19:39:45

0

我們還可以用下面的正則表達式的第一個字之前配置RegexpSinglelineJava檢查格式現場

<property name="format" value="^[\t]*[" "]+([\t]*|[" "]+)[a-zA-Z0-9]"/> 

此檢查所有空格

相關問題