【问题标题】:PyCodeStyle - Sublime Text 3 - Comment Line LengthPyCodeStyle - Sublime Text 3 - 注释行长度
【发布时间】:2018-08-19 02:50:02
【问题描述】:

我已成功设置 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”,因为我知道后者是通过命令行完成的选项。

有谁知道我做错了什么以及每次我的 cmets 运行时间过长时如何说服 linter 给我一个严厉的教训?

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

pycodestyle --version 的输出是2.4.0

【问题讨论】:

    标签: python python-3.x sublimetext3 pycodestyle


    【解决方案1】:

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

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

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


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

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

    据我所知,pycodestyle 无法为 cmets 指定不同的长度;他们总是得到max-line-length

    【讨论】:

    • 很有帮助,谢谢。现在,我的“解决方法”将继续,因为我只是将标尺保持在 72 和 80,并在视觉上将我的 cmets(和文档字符串)保持在最里面的标尺下方。
    猜你喜欢
    • 2017-02-20
    • 2018-05-04
    • 1970-01-01
    • 2013-07-18
    • 2018-11-23
    • 2014-11-12
    • 2014-01-23
    • 1970-01-01
    • 2021-03-01
    相关资源
    最近更新 更多