Стала доступна для загрузки вторая версия 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 страничке (на подобие английского языка).
Хотелось бы еще раз поблагодарить
Также большое спасибо коллективу JetBrains за их платформу, отдельно Петру Громову за активную помощь на начальном этапе, а также всем саппортерам и баг-репортерам проекта.
Как я уже писал выше, это последняя из крупных фич, которую лично я хотел видеть в своем идеальном perl-IDE. Это не значит, что все идеально и разработка окончена. Это бесконечный процесс. Будут и фичи, и шлифовка, и багфиксы, но плагин можно считать готовым.
Не стесняйтесь присылать баг-репорты, фич-реквесты, пуллы или деньги. :)
Всем приятного кодинга и отладки!
Ссылки
- Плагин в репозитории JetBrains: plugins.jetbrains.com/plugin/7796
- Плагин на GitHub: github.com/hurricup/Perl5-IDEA
- Наш твиттер: twitter.com/CamelcadeIDE
Комментарии (21)
cynovg
27.05.2016 11:09+1А есть какие-то другие способы доната, которые бы работали в Крыму? Я бы воспользовался, пусть и не много, но всё же.
Foxcool
27.05.2016 16:26Для трансграничных платежей однозначно рулят криптовалюты. Есть такой сайт баунтисорс — суть заключается в том, что можно донатить авторам гитхаб проектов или скидываться на конкретные ISSUE, тем самым стимулируя свободных разработчиков их закрывать. Пополнять можно битками в том числе.
https://www.bountysource.com/teams/perl5-idea
hurricup
27.05.2016 12:59сейчас для него XS просто текстовый файл.
ivanych
27.05.2016 13:08А в планах есть? Эпик не умеет, зараза, чем очень сильно огорчает.
hurricup
27.05.2016 13:14Задачка на это есть https://github.com/hurricup/Perl5-IDEA/issues/531
Тут вопрос лишь когда дойдут руки. Всего задумок/планов около 300 и в первую очередь делаются те которые больше всего просят или которые очень сильно нужны лично мне.
Так что да, но не знаю как скоро.
Там проблема еще в том, что нужна интеграция с Си, которая есть только в CLion, который, в свою очередь, сильно отличается вроде как от IDEA/Pycharm/...storm.
kloppspb
27.05.2016 13:24>Эпик не умеет
Если речь идёт о подсветке кода и форматировании — так выставить в Preferences->C/C++->File Types самого эклипса тип для *.xs (у меня C Source File).ivanych
27.05.2016 17:28А что надо прикрутить к Эклипсу, чтобы появился пункт «C/C++» и связанные с ним контент-типы? У меня его по умолчанию нет.
kloppspb
27.05.2016 17:39http://marketplace.eclipse.org/content/eclipse-cc-ide
(сишная ставится как в виде отдельной сборки, так и в виде плагина).
Конечно, как правильно замечено, XS — это не совесем 100% C. Но в первом приближении, IMHO, всякие фичи типа подсветки кода и прочего можно быстренько настроить средствами самой IDE, что Eclipse, что IDEA.ivanych
27.05.2016 17:43+1Так ладно подсветка, но оно же будет ругаться на синтаксис.
kloppspb
27.05.2016 17:48Если файл включён в перловый проект — не будет.
ivanych
27.05.2016 17:52Как не будет? Не могу сейчас проверить, но как-то странно это. У меня, допустим, используются xml-файлы в перловом проекте. И там вполне синтаксис проверяется и где надо ругается.
kloppspb
27.05.2016 18:10Валидаторы настраиваются в свойствах проекта, либо глобально — для воркспейсов, в зависимости от типов проектов. По умолчанию для перловых проектов сишных валидаторов нет, но HTML/DTD/XML — включены.
mirror13
Удалённый отладчик — это вещь!