VSCode/Python/Pep8 работает только при сохранении файла

Я пишу в Visual Studio Code 1.29.1 некоторый код на Python 3, и я хотел бы проверить, все ли в порядке с Pep8. Итак, я выбрал вариант pep8 с литром, и он работает, но можно ли быть более отзывчивым? Прямо сейчас он проверяет код, когда я нажимаю CTRL + S, чтобы сохранить файл. Есть ли возможность запускать его чаще? Спасибо!


person Artur Jarosz    schedule 30.11.2018    source источник
comment
У вас установлено расширение python? Вы должны иметь возможность настроить, какой линтер он использует в settings.json, и он будет анализировать ваш код, когда вы его печатаете.   -  person Maximilian Burszley    schedule 30.11.2018
comment
Да. У меня нет проблем с выбором линтера. Я могу их переключать. Проблема в том, что они не работают в режиме реального времени. Например, когда я забываю поставить какой-то пробел, я получаю сообщение об ошибке, но оно исчезает не сразу после того, как я исправляю его, а только при сохранении файла позже.   -  person Artur Jarosz    schedule 30.11.2018
comment
Теперь я вижу твою проблему. Похоже, линтеры выполняются только при сохранении по умолчанию из расширения python.   -  person Maximilian Burszley    schedule 30.11.2018
comment
Я ищу полную противоположность, я хочу проверять линтинг только при сохранении. Я не хочу, чтобы мой редактор и линтер тратили циклы процессора, говоря мне не использовать однобуквенные переменные, когда я только начал вводить имя переменной.   -  person Calmarius    schedule 29.07.2021


Ответы (1)


Вам нужно расширение lint, особенно для python.

В левом столбце вашей IDE вы увидите кнопку, при наведении на которую отображается текст с расширением, нажмите на нее и найдите кнопку с надписью python и lint в одном и том же расширении. Многие из этих расширений делают то же самое по-разному, а некоторые являются просто коммерческими или бесплатными.

Вы должны иметь возможность настроить, насколько сильно вы хотите, чтобы ваши параметры / правила применялись, настроив это расширение.

Ознакомьтесь с этим руководством с инструкциями по выполнению.

Вы также можете найти готовый Python-autopep8 и вам не придется настраивать

person Mr-Programs    schedule 30.11.2018
comment
Вам не нужно устанавливать специальное расширение linting для Python, потому что оно уже встроено в официальное расширение Python. Вы можете изменить ключ python.formatting.provider в settings.json. По умолчанию установлено значение autopep8. - person Maximilian Burszley; 30.11.2018
comment
Исправление к моему предыдущему комментарию: это для форматирования. Существует отдельный ключ linting, который нужно изменить в разделе python.linting.pep8Enabled. - person Maximilian Burszley; 30.11.2018
comment
ссылка больше ориентирована на конфигурацию, которую я нашел способ расширить, чтобы добавить комментарий, есть часть, в которой говорится, что Pep8 (pycodestyle) pep8 Disabled pep8Enabled, как вы можете видеть, настройка может быть полезной - person Mr-Programs; 30.11.2018
comment
Спасибо всем за комментарии. Итак, я добавил в свой settings.json: python.linting.enabled: true, python.analysis.diagnosticPublishDelay: 10, python.linting.pep8Enabled: true, python.formatting.provider: autopep8 Тем не менее, проблемы с описанием [python] исчезают сразу после того, как я их исправляю, но те, у которых есть [pep8], остаются до тех пор, пока я не сохраню файл. - person Artur Jarosz; 30.11.2018