Стала доступна для загрузки вторая версия Perl плагина для IDE от JetBrains. В этой версии появилась последняя из крупных фич, которую я хотел реализовать — отладчик.
Perl Отладчик
- Отладчик работает через сокет и позволяет работать как локально, так и с удаленной машиной.
- Для работы необходим perl-модуль Devel::Camelcadedb, доступный для установки с CPAN.
- При сетевой отладке сервером может быть как IDE, так и отлаживаемый процесс, в зависимости от вашего сетевого окружения.
- Стандартный набор отладочных операций: step-in, step-out, step-over, run to cursor с возможностью форсирования перехода (пропуска точек останова по дороге).
- Точки останова с возможными условиями и аналогом actions из стандартного отладчика.
- Зависимые точки останова предоставляются IDE из коробки (количество проходов, зависимость одной ТО от другой и т. п.).
- Просмотр стектрейса.
- Просмотр локальных и глобальных переменных стек-фрейма с адресами переменных, признаками utf8 и возможностью полазить по сложным структурам.
- Watches с аналогичным функционалом.
- Браузер скомпилированных файлов.
- Браузер скомпилированных eval-ов.
- Браузер пространства имен.
- Подгрузка отсутствующих исходников (в случае удаленной отладки).
- Поддержка шаблонизаторов, основанных на трансляции в перл-код и eval-ах, позволяющая ставить точки останова прямо в шаблонах (требует поддержки со стороны фреймворка).
Подробную инструкцию по настройке и нюансам можно найти на wiki-страничке (наподобие английского языка).
Хотелось бы еще раз поблагодарить автора проекта Consulo — Валерия Семенчука, который своими объяснениями и советами сэкономил мне огромную тучу времени и сил. Без него сделано было гораздо меньше, а может и вовсе было бы заброшено, трудно сказать.
Также большое спасибо коллективу JetBrains за их платформу, отдельно Петру Громову за активную помощь на начальном этапе, а также всем саппортерам и баг-репортерам проекта.
Как я уже писал выше, это последняя из крупных фич, которую лично я хотел видеть в своем идеальном perl-IDE. Это не значит что все идеально, и разработка окончена. Это бесконечный процесс. Будут и фичи и шлифовка и багфиксы, но плагин можно считать готовым.
Не стесняйтесь присылать баг-репорты, фич-реквесты, пуллы или деньги. :)
Всем приятного кодинга!
Ссылки