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

в 16:38, , рубрики: IDE, idea, intellij idea, python, Программирование, разработка, метки: , , ,

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

External Tools

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

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

pylint

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • На данный момент в IDEA есть баг, из-за которого этот самый pylint падает на файлах, где есть символы в UTF-8. Вы можете посмотреть/проголосовать за тикет
  • Парсер путей файлов почему-то понимает только абсолютные пути, пути относительно проекта парсить не получается. Именно поэтому pylint настроен довольно странно — рабочая папка / нужна для того, чтобы в выводе были абсолютные пути файлов.
  • pylint запускается с особенным ключем --output-format=parseable — он меняет формат вывода на более простой для парсинга и понимаемый многими приложениями.

Автор: system29a

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js