PyCodeStyle — Sublime Text 3 — Длина строки комментария

Я успешно настроил Sublime Text 3 для работы с SublimeLinter и PyCodeStyle. Мне нравится использовать его, чтобы оставаться честным, и я настроил свой конфигурационный файл SublimeLinter для PyCodeStyle, чтобы игнорировать определенные предупреждения. Вот мой файл в том виде, в котором он существует сейчас.

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

Я игнорирую E111 и E114, так как для моего проекта я должен использовать ширину отступа 2, и я не хочу, чтобы на меня кричали за то, что я не использую кратное 4.

Часть, с которой у меня возникли проблемы, — это вторая команда, где моя цель — получать предупреждения, когда мои строки комментариев слишком длинные. Я установил его на 60 (несмотря на предложение PEP 72, которое я собираюсь использовать), просто чтобы заставить его отключить линтер.

Независимо от того, что я установил, я никогда не получаю предупреждение, которое ожидал получить (W505: слишком длинная строка документа). (Я никогда не получаю никаких предупреждений.) Я также пробовал «-max-doc-length» и «--max-doc-length», так как я знаю, что последний вариант является вариантом, когда делается через командную строку.

Кто-нибудь знает, что я делаю неправильно и как я могу убедить линтер читать мне суровую лекцию каждый раз, когда мои комментарии становятся слишком длинными?

Может дело в версии? Я заметил, что вариант, который я цитирую выше, отображается на веб-странице PyCodeStyle. (ищите "--max-doc-length=n"); однако в моей системе, когда я набираю pycodestyle --help, я не вижу эту опцию. Я вижу опцию --max-line-length=n, но не строку документа под ней.

Выход pycodestyle --version равен 2.4.0.


person Matt    schedule 19.08.2018    source источник


Ответы (1)


Во-первых, да, есть проблема с версией. Даже если у вас установлена ​​последняя версия (2.4.0, выпущена 10 апреля 2018 г.), max-doc-length был добавлен после выпуска этой версии 11 мая 2018 г..

Я не уверен, почему он был добавлен в документы для 2.4.0, когда он там недоступен (возможно, потому, что они до сих пор не подняли версию в репозитории до 2.4.1?), но я не уверен об этой ошибке стоит сообщить.

В любом случае, если вам нужна эта функция (и вы не хотите ждать следующей версии), вам придется установить новейшую версию с GitHub.


Тем не менее, я не думаю, что вам нужна эта функция в любом случае.

max-doc-length (и соответствующее предупреждение W505) предназначено для строк документации, а не для комментариев. Таким образом, он по-прежнему ничего не сделает, чтобы обнаружить, что ваши строки комментариев слишком длинные.

Насколько мне известно, pycodestyle не позволяет указать другую длину для комментариев; они всегда получают max-line-length.

person abarnert    schedule 19.08.2018
comment
Довольно полезно, спасибо. На данный момент мой обходной путь будет продолжаться в том, что я просто держу линейки на 72 и 80 и визуально держу свои комментарии (и строки документации) ниже самой внутренней линейки. - person Matt; 19.08.2018