Очередная версия плагина для IntelliJ IDEA поддерживает Template Toolkit 2, лучше работает с константами и методами объектов а так же содержит несколько небольших фиксов.
На самом деле за прошедший месяц это уже второй релиз, но мне показалось, что анонсы каждые две недели — это слишком много. Ниже вы найдете все изменения, которые были внесены с последнего анонса на хабре — версии 2.0.
Template Toolkit 2
- Парсинг файлов шаблонов со стандартным синтаксисом
- Шаблоны для простых и блочных директив
- Настройки для папок шаблонов, расширений файлов и маркеров
- Авто-дополнение блочных маркеров
- Инспекшены для некорректно расположенных директив
- Навигация, рефакторинг и авто-дополнение файлов для соответствующих директив
- Навигация, рефакторинг и авто-дополнение имен блоков
Константы и методы
- Константы, наконец, парсятся как обычные функции. Соответственно, все инспекшены и навигация работают корректно, в том числе навигация по методам
- Функции с одним стейтментом вида shift->method, $_[0]->method теперь считаются методами, а shift и $_[0] считаются $self
- Функции с пустым shift в качестве первого стейтмента считаются методами
- Функции с undef в качестве первого распаковываемого аргумента считаются методами
Прочее
- Объявления переменных теперь можно аннотировать с помощью #@deprecated
- Нажатие пробела после use/no/package открывает окно авто-дополнения
- Файлы *.al (результаты работы AutoLoader/AutoSplitter) теперь парсятся как скрипты
- Настройки perl теперь хранятся в двух разных файлах — perl5shared и perl5local. Один для специфичных для машины настроек, другой — для общих, которые можно пошарить через VCS
- Авто-дополнение функций теперь показывает пакет, в котором они объявлены
- Кастомные шаблоны файлов с расширениями, поддерживаемыми плагином теперь отображаются в меню создания нового Perl файла
- Любые perl-файлы теперь можно создавать не только по имени, но и по пути, типа some/path/script, что автоматически создаст нужные папки
- В отладчике появилась возможность паузы и неинтерактивной работы с точками останова. Механизм работает только при входе в очередную функцию. Т.е. если у вас цикл без вызовов — работать не будет (требует обновления Devel::Camelcadedb)
- Exporter
- Импортированные хеши и массивы корректно дополняются как элементы и срезы
- Добаавлено корректное импортирование DSL для Dancer и Dancer2
- Добавлена базовая поддержка модуля Modern::Perl
- Добавлена поддержка импортов модуля POSIX
- Импортированные функции теперь отображаются с сигнатурами при авто-дополнении
- IntelliJ IDEA
- В IDEA теперь можно настраивать SDK для модуля, что позволяет иметь, например, Java проект с perl-модулем
- Появилось предупреждение при открытии perl-файл для которого не установлен Perl SDK (для модуля или проекта)
Всем приятного кодинга и отладки!
Ссылки
- Плагин в репозитории JetBrains: plugins.jetbrains.com/plugin/7796
- Плагин на GitHub: github.com/hurricup/Perl5-IDEA
- Наш твиттер: twitter.com/CamelcadeIDE
- Google Group: groups.google.com/forum/#!forum/camelcade
Автор: hurricup