繁体   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