我设置CheckStyle以检查Eclipse中超过80个字符的行,并且我在编辑器中设置了80个字符的边距行。如果我将光标放在编辑器中一行代码的末尾,则坐标读取(例如)1433,77,表示左边第77个字符列 - 但是当我在同一行上运行CheckStyle时它说这行是88个字符长!在行的末尾没有无关的制表符或其他空白字符,它肯定是77长。 CheckStyle坏了吗?
答案 0 :(得分:10)
从Checkstyle文档:
线条长度的计算考虑了制表符('\ t')的展开空格数。默认空格数为8.要指定不同数量的空格,用户可以设置适用于所有检查的TreeWalker属性tabWidth,包括LineLength;或者可以单独为LineLength设置属性tabWidth。
http://checkstyle.sourceforge.net/config_sizes.html#LineLength
要在Eclipse中执行此操作:
TreeWalker
。答案 1 :(得分:3)
CheckStyle是否已损坏?
可能不是。
我希望你/ Eclipse和CheckStyle对TAB字符的宽度有不同的看法。听起来你觉得它意味着4个空格,而CheckStyle认为它意味着8个字符(默认)。
解决此问题的一种方法是将Eclipse配置为不在源文件中使用TAB字符,然后重新缩进源文件。
另一种方法是使用CheckStyle和Eclipse在TAB宽度上达成一致;例如看@ MartinEllis的回答。
(我更喜欢第一种方法,因为这意味着无论平台的默认TAB宽度如何,我的源代码都会正确缩进;即Windows与Linux / Unix。源代码中的硬TAB字符一个坏主意< / em>的。)