Как стать автором
Обновить

Подключение сторонних инструментов в IntelliJ IDEA на примере pylint

Время на прочтение2 мин
Количество просмотров12K
В этом посте я хочу рассказать про довольно интересную фичу IntelliJ IDEA — подключение сторонних утилит, а также продемонстрировать её на довольно типичном примере: я подключу pylint — анализатор кода для python проектов.

External Tools


В IDEA есть интересная возможность использовать сторонние утилиты из интерфейса самой IDE. Добавлять таким образом можно всё что угодно — скрипты, анализаторы кода, средства рендеринга ресурсов и подсчета статистики. И IDEA предоставляет несколько крутых решений, обеспечивающих комфорт использования утилит, которые вы подключите.

Ну что, попробуем подключить какой-нибудь тул?

pylint


pylint — статический анализатор кода для python. Его функциональность частично пересекается со встроенным анализатором кода в IDEA, но это не отменяет его полезность во многих случаях. pylint проверяет соответствие кода стандартам PEP8 и анализирует код на потенциальные ошибки.

Обычно pylint используют либо через консоль, либо через плагины, но вот для IDEA плагина нет.



Если посмотреть на вывод программы, можно заметить, что каждое замечание относится к конкретной строчке кода и хотелось бы иметь удобную навигацию по файлам и строчкам. Именно этого мы будем добиваться подключением этого тула к IDEA.

Подключаем pylint к IDEA


Добавить новый сторонний инструмент можно в настройках Settings -> External Tools





Как вы наверняка заметили, всё, что надо для того, чтобы программа работала из интерфейса IDEA, нужно всего ничего — указать имя, путь к программе, аргументы и рабочую директорию. Самое интересное здесь — макро-переменные, мощный инструмент взаимодействия программы, юзера и IDE. Взгляните:



Можно передать всё, что угодно: от путей директорий, файлов и проектов до выделенных фрагментов, номеров строчек и полученного из диалогового окошка текста.

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

Наконец, мы перейдём к тому, что мы изначально желали — адресации по замечаниям pylint. Перейдем в секцию Output Filters:



Именно здесь настраивается то, что нам нужно — по регулярному выражению IDEA находит ссылки на строчки в файле.

Всё, можно пользоваться, вызвать наш тул можно из меню tools:



Посмотрим на результат запуска:



It works! Таким образом можно внедрять много других полезных штук.

Осталось только сказать про парочку нюансов:

  • На данный момент в IDEA есть баг, из-за которого этот самый pylint падает на файлах, где есть символы в UTF-8. Вы можете посмотреть/проголосовать за тикет
  • Парсер путей файлов почему-то понимает только абсолютные пути, пути относительно проекта парсить не получается. Именно поэтому pylint настроен довольно странно — рабочая папка / нужна для того, чтобы в выводе были абсолютные пути файлов.
  • pylint запускается с особенным ключем --output-format=parseable — он меняет формат вывода на более простой для парсинга и понимаемый многими приложениями.
Теги:
Хабы:
Всего голосов 28: ↑25 и ↓3+22
Комментарии6

Публикации

Истории

Работа

Python разработчик
195 вакансий
Data Scientist
95 вакансий

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань