Вышел знаковый для меня релиз плагина. Год назад я начал работу над ним и иногда не верится что все это было сделано. В репозиторий прошло более двух тысяч коммитов.
Данная версия привносит поддержку 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 (см.ниже).
Что дальше?
Дебаггер близко…
Ссылки
- Плагин в репозитории JetBrains: plugins.jetbrains.com/plugin/7796
- Плагин на GitHub: github.com/hurricup/Perl5-IDEA
- Наш Твиттер: twitter.com/CamelcadeIDE
Приятного кодинга и всем поддерживающим — спасибо за поддержку, без вас я бы не продержался этот год.