Вышла версия 1.5 Perl плагина для IntelliJ IDEA

в 9:52, , рубрики: IDE, idea, mojolicious, perl, Perl5, PerlCritic, PerlTidy, POD
Вышла версия 1.5 Perl плагина для IntelliJ IDEA - 1

Вышел знаковый для меня релиз плагина. Год назад я начал работу над ним и иногда не верится что все это было сделано. В репозиторий прошло более двух тысяч коммитов.

Данная версия привносит поддержку POD, хелперов для Mojolicious, контекстную подсказку и много приятных мелочей.

Что новенького?

  • Поддержка POD файлов и инлайн документации: парсинг, подсветка, авто-дополнение, навигация по ссылкам и документируемым элементам, рефакторинг первого и второго
  • Контекстная подсказка: по нажатию сочетания Ctrl+Q вы можете получить подсказку как по perl-элементам, так и по вашим функциям, если вы, конечно, ведете документацию
  • Поддержка хелперов для Mojolicious. Для явно заданных хелперов теперь работает навигация, авто-дополнение и рефакторинг. Хитроумные конструкции вроде $app->helper($_, sub{}) for @something; плагин не понимает (tnx greyhard)
  • Добавлна новая аннотация #@inject, которая позволяет инжектировать другие языки в строки. Изначально подобная возможность была только для here-doc на основе теста маркера, теперь можно делать то же самое и в строках, что может быть очень удобно для, например, коротких запросов. Аннотация может быть расположена перед строкой, стейтментом со строкой или в конце строки. Последний вариант может вносить путанницу и должен рассматриваться как эскпериментальный. Нужен фидбек
  • Методы классов теперь корректно рефакторятся в дочерних классах и, опционально, в родительских
  • Пакеты теперь можно создавать по полному имени, папки для пути будут созданы автоматически
  • Базовая поддержка синтаксиса TryCatch, а именно: catch{}, catch($var){} и catch(Foo::Bar $var){}
  • Инспекшен для ненужных явных неймспейсов. Например, когда вы вызываете функцию Foo::Bar::somesub() из неймспейса Foo::Bar
  • Лексические переменные теперь находятся вверху списка авто-дополнения
  • Значительно улучшена и ускорена работа парсера для незаконченных выражений. Ситуации когда во время ввода отключается подсветка половины файла ниже практически исчезла, а ошибки стали более адекватны
  • Добавлен экшен для депарса файла с помощью B::Deparse, что может быть крайне удобно при работе с чужим кодом (за идею спасибо лекциям от Мейл.ру)
  • Добавлен аннотатор Perl::Critic. Плагин умеет запускать его и отмечать в коде выданные им замечания. Все настройки должны быть в файле .perlcriticrc в корне проекта или настроены через окружение. Никакого UI для настроек в настоящий момент нет
  • Добавлен экшен переформатирования с помощью Perl::Tidy. Аналогично критику, все настройке в корне проекта в файле .perltidyrc или в окружении. UI для настроек в этой версии отсутствует.

Список багкфиксов можно найти в релиз-ноутсах на странице плагина в репозитории JetBrains (см.ниже).

Что дальше?

Дебаггер близко…

Ссылки

Приятного кодинга и всем поддерживающим — спасибо за поддержку, без вас я бы не продержался этот год.

Автор: hurricup

Источник


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


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