PyCharm + flake8 = ❤

Ilya Lebedev
2 min readApr 8, 2019

--

Я настроил крутые проверки для flake8 и хочу, чтобы мой PyCharm подсвечивал мне их сразу без дополнительных нажатий и прям в коде, вместе со встроенными инспекциями. На дворе 2к19, почему я должен это делать в консоли, а?

Рассказываю как. Для этого нужно настроить вотчер и инспекцию.

Настройка вотчера

Идём в Preferences -> Tools ->File Watchers и добавляем новый. Тут вся мякотка.

  • ScopeProject Files. Мы ж не хотим проверять файлы не из нашего проекта.
  • Program — это полный путь до флейка. Если используете виртуальное окружение, он лежит в нём в bin. Можете просто сделать which flake8 в консоли. У меня это /Users/ilebedev/.virtualenvs/project_name/bin/flake8.
  • Arguments — это $FileDir$/$FileName$. Просто скопируйте, это полный путь до файла по-пайчармовски.
  • Working directory — это путь до корня проекта: место, где лежит setup.cfg с настройками флейка. У меня это /Users/ilebedev/projects/project_name/core/.
  • Show consoleNever. К чёрту консоль, у нас всё будет в редакторе.
  • Output filters $FILE_PATH$:$LINE$:$COLUMN$: $MESSAGE$. Это мы рассказываем Пайчарму про формат вывода флейка.

Теперь Пайчарм умеет запускать флейк когда мы редактируем файл, но не умеет выводить результаты.

Настройка инспекции

Идём в Preferences -> Editor->Inspections. Там в списке проверок ищем File watcher problems, ставим ему Severity: Error, чтобы ошибки подчёркивались раздражающей красной волнистой линией.

Всё, вы великолепны. Можете проверить: отредактируйте код, моргните (если у вас много проверок, может потребоваться моргнуть несколько раз), увидите ошибку. Каеф? Каеф.

P.S. Ребятам из JetBrains: вы крутые и у вас классные продукты, но вот бы они ещё и избавляли меня от подобного мета-дроча. Мне ж ещё тикеты закрывать, а я уже половину очков гуглежа на сегодня потратил. Just saying.

--

--