Стала доступна для загрузки вторая версия 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. Это не значит, что все идеально и разработка окончена. Это бесконечный процесс. Будут и фичи, и шлифовка, и багфиксы, но плагин можно считать готовым.

Не стесняйтесь присылать баг-репорты, фич-реквесты, пуллы или деньги. :)

Всем приятного кодинга и отладки!

Ссылки


Поделиться с друзьями
-->

Комментарии (21)


  1. mirror13
    27.05.2016 07:56
    +2

    Удалённый отладчик — это вещь!


  1. foxyrus
    27.05.2016 09:53
    +1

    В очередной раз задонатил. Спасибо!


  1. cynovg
    27.05.2016 11:09
    +1

    А есть какие-то другие способы доната, которые бы работали в Крыму? Я бы воспользовался, пусть и не много, но всё же.


    1. hurricup
      27.05.2016 11:20

      Не исследовал вопрос. Посмотрю.


    1. Foxcool
      27.05.2016 16:26

      Для трансграничных платежей однозначно рулят криптовалюты. Есть такой сайт баунтисорс — суть заключается в том, что можно донатить авторам гитхаб проектов или скидываться на конкретные ISSUE, тем самым стимулируя свободных разработчиков их закрывать. Пополнять можно битками в том числе.

      https://www.bountysource.com/teams/perl5-idea


      1. hurricup
        27.05.2016 16:30

        Даже как то заходил на этот сайт. Что-то не до того было. Позырю, спасибо.


  1. ivanych
    27.05.2016 12:21

    XS?


    1. hurricup
      27.05.2016 12:42

      что XS?


      1. ivanych
        27.05.2016 12:47

        Как плагин справляется с XS? Понимает, что открыт XS, или думает, что это неправильный перл и показывает ошибки? Подсветку делает? Что-нибудь вообще делает с XS?


        1. hurricup
          27.05.2016 13:00

          Промахнулся, ответ ниже.


  1. hurricup
    27.05.2016 12:59

    сейчас для него XS просто текстовый файл.


    1. ivanych
      27.05.2016 13:08

      А в планах есть? Эпик не умеет, зараза, чем очень сильно огорчает.


      1. hurricup
        27.05.2016 13:14

        Задачка на это есть https://github.com/hurricup/Perl5-IDEA/issues/531
        Тут вопрос лишь когда дойдут руки. Всего задумок/планов около 300 и в первую очередь делаются те которые больше всего просят или которые очень сильно нужны лично мне.
        Так что да, но не знаю как скоро.
        Там проблема еще в том, что нужна интеграция с Си, которая есть только в CLion, который, в свою очередь, сильно отличается вроде как от IDEA/Pycharm/...storm.


      1. kloppspb
        27.05.2016 13:24

        >Эпик не умеет

        Если речь идёт о подсветке кода и форматировании — так выставить в Preferences->C/C++->File Types самого эклипса тип для *.xs (у меня C Source File).


        1. hurricup
          27.05.2016 16:29

          Если я правильно помню, XS это не то чтобы чистый Си


        1. ivanych
          27.05.2016 17:28

          А что надо прикрутить к Эклипсу, чтобы появился пункт «C/C++» и связанные с ним контент-типы? У меня его по умолчанию нет.


          1. kloppspb
            27.05.2016 17:39

            http://marketplace.eclipse.org/content/eclipse-cc-ide
            (сишная ставится как в виде отдельной сборки, так и в виде плагина).

            Конечно, как правильно замечено, XS — это не совесем 100% C. Но в первом приближении, IMHO, всякие фичи типа подсветки кода и прочего можно быстренько настроить средствами самой IDE, что Eclipse, что IDEA.


            1. ivanych
              27.05.2016 17:43
              +1

              Так ладно подсветка, но оно же будет ругаться на синтаксис.


              1. kloppspb
                27.05.2016 17:48

                Если файл включён в перловый проект — не будет.


                1. ivanych
                  27.05.2016 17:52

                  Как не будет? Не могу сейчас проверить, но как-то странно это. У меня, допустим, используются xml-файлы в перловом проекте. И там вполне синтаксис проверяется и где надо ругается.


                  1. kloppspb
                    27.05.2016 18:10

                    Валидаторы настраиваются в свойствах проекта, либо глобально — для воркспейсов, в зависимости от типов проектов. По умолчанию для перловых проектов сишных валидаторов нет, но HTML/DTD/XML — включены.