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

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


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

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

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

Посмотрим на результат запуска:
It works! Таким образом можно внедрять много других полезных штук.
Осталось только сказать про парочку нюансов:
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
— он меняет формат вывода на более простой для парсинга и понимаемый многими приложениями.