PyCodeStyle - Sublime Text 3 - 注释行长度

PyCodeStyle - Sublime Text 3 - Comment Line Length

我已成功设置 Sublime Text 3 以使用 SublimeLinter and PyCodeStyle。我喜欢用它来保持诚实,并且我已经为 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's webpage 上看到上面引用的选项(搜索“--max-doc-length=n”);但是,在我的系统上,当我键入 pycodestyle --help 时,我没有看到该选项。我看到了 --max-line-length=n 选项,但没有看到它下面的文档行。

pycodestyle --version的输出是2.4.0

首先,是的,存在版本问题。即使您拥有最新版本(2.4.0,released on 10 Apr 2018), max-doc-length was added after that version was released, on 11 May 2018

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

无论如何,如果您想要此功能(并且不想等待下一个版本),则必须安装最新版本 GitHub。


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

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

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