0

我已成功设置 Sublime Text 3 以使用SublimeLinterPyCodeStyle。我喜欢用它来保持诚实,并且我已经为 PyCodeStyle 设置了我的 SublimeLinter 配置文件以忽略某些警告。这是我现在存在的文件。

{
"linters": {
"pycodestyle": {
  "ignore": ["E111", "E114"],
  "max-doc-length": 60,
},
// ... other linters' settings
}

我忽略了 E111 和 E114,因为对于我的项目,我必须使用 2 的缩进宽度,而且我不想因为不使用 4 的倍数而不断被骂。

我遇到问题的部分是第二个命令,我的目标是在我的注释行太长时收到警告。我将它设置为 60(尽管我打算使用 PEP 的 72 建议),只是为了迫使它绊倒 linter。

无论我将其设置为什么,我都不会收到我期望得到的警告(W505:文档行太长)。(我从来没有收到任何警告。)我也尝试过“-max-doc-length”和“--max-doc-length”,因为我知道后者是通过命令行完成的选项。

有谁知道我做错了什么,以及每次我的评论太长时,我如何说服 linter 给我一个严厉的演讲?

会不会是版本问题?我注意到我可以在PyCodeStyle 的网页上看到上面引用的选项(搜索“--max-doc-length=n”);但是,当我键入时,在我的系统pycodestyle --help上看不到该选项。我看到了这个--max-line-length=n选项,但没有看到它下面的文档行。

的输出pycodestyle --version2.4.0

4

1 回答 1

1

首先,是的,存在版本问题。即使您拥有最新版本(2.4.0,于 2018 年 4 月 10 日发布),max-doc-length也是在该版本于 2018 年 5 月 11 日发布之后添加的。

我不确定为什么在 2.4.0 不可用时将其添加到 2.4.0 的文档中(可能是因为他们还没有将 repo 中的版本提升到 2.4.1?),但我不确定这是一个值得报告的错误。

无论如何,如果你想要这个功能(并且不想等待下一个版本),你必须在 GitHub 上安装最前沿的版本。


但是,我认为您无论如何都不需要此功能。

max-doc-length(以及相应的 W505 警告)适用于文档字符串,而不适用于注释。因此,它仍然无法检测到您的评论行太长。

据我所知, pycodestyle 没有任何方法可以为注释指定不同的长度。他们总是得到max-line-length.

于 2018-08-19T03:00:19.920 回答