- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

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

Что дальше?

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

Ссылки

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

Автор: hurricup

Источник [10]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/idea/119386

Ссылки в тексте:

[1] greyhard: https://habrahabr.ru/users/greyhard/

[2] фидбек: https://github.com/hurricup/Perl5-IDEA/issues/1072

[3] TryCatch: http://search.cpan.org/~ash/TryCatch/lib/TryCatch.pm

[4] лекциям от Мейл.ру: https://www.youtube.com/playlist?list=PLrCZzMib1e9pJchUR-KGNJvz2BA6XjIPr

[5] Perl::Critic: http://search.cpan.org/~thaljef/Perl-Critic/

[6] Perl::Tidy: http://search.cpan.org/~shancock/Perl-Tidy/

[7] plugins.jetbrains.com/plugin/7796: http://plugins.jetbrains.com/plugin/7796

[8] github.com/hurricup/Perl5-IDEA: http://github.com/hurricup/Perl5-IDEA

[9] twitter.com/CamelcadeIDE: https://twitter.com/CamelcadeIDE

[10] Источник: https://habrahabr.ru/post/282592/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best