在CheckStyle中有一个模块(File Tab Character
),它检查源代码中是否没有制表符。他们的理由是:
- 开发人员不需要配置文本编辑器的标签宽度,以便能够阅读源代码。
- 来自Apache jakarta编码标准:在分布式开发环境中,当提交消息被发送到邮件列表时,如果使用选项卡,则几乎无法读取它们。
为了确保空格的数量正确,还有一个额外的模块(Indentation
)。
我更喜欢使用制表符进行缩进,并希望将此要求添加到我的CheckStyle文件中。我的理由:
- 开发人员应该有机会配置用于缩进的空间
- 标签是缩进的逻辑和可配置单位,
n spaces
只是一个任意数量的空格。
不幸的是我找不到使用CheckStyle的方法。
答案 0 :(得分:9)
没有现成的检查执行此操作,但您可以相应地配置RegexpSinglelineJava检查。以下配置将进入TreeWalker
下的 checkstyle.xml :
<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注释通常在星号前至少有一个空格的问题。
答案 1 :(得分:1)
我们还可以使用格式字段中的以下正则表达式配置RegexpSinglelineJava -
<property name="format" value="^[\t]*[" "]+([\t]*|[" "]+)[a-zA-Z0-9]"/>
这将检查第一个单词
之前的所有空格