![](https://habrastorage.org/files/e63/b13/491/e63b13491c054c699d3ca853b0d37ced.png)
Прошло почти два месяца с выхода последней версии плагина и некоторые даже стали интересоваться, не забросил ли я это дело. Нет, не забросил. Разработка идет полным ходом и вот вышла новая версия.
В этом номере: совместимость с 14 и 15 IDEA (и остальными продуктами соответствующих версий), поддержка
Switch
, Class::Accessor
и Mason2
.А теперь, немного подробнее:
Что новенького?
- Инспекция для переменных уровня файла (понадобилась лично мне для переноса одного проекта с CGI на mod_perl)
Автодополнение и кодогенерация
- Сильно переработаны live-templates и автокомплит, стали сильно «умнее» и быстрее
- Добавлена конвертация строки в here-doc с последним использованным маркером (исправлена проблема конвертации многострочных строк)
- Заработала авто-вставка кавычек для регулярных выражений и квотирующих операторов
- При создании новой функции вам предлагают имена на основании не разрешенных функций в текущем файле и непереопределенных методов родительских классов
- Аналогично, при создании переменной предлагают имена не разрешенных переменных
- Тупенький и удобный автокомплит для индексов хешей, предлагает все индексы, какие видел за сессию
- Добавлена возможность переопределения метода родительского класса через UI
Настройки
- Названия self-переменных теперь конфигурируемы
- Автоматическое внедрение языков в here-doc на основе текста маркера теперь можно отключить в настройках
Код стайл и форматирование
- Настройки для пробелов в параметрах вызова функций
- Удаление пробелов вокруг индексов хешей, массивов и цепочек разадресаций/вызовов
- Настройка и конвертация
${$hasref}{key}
в$hashref->{key}
и наоборот
Навигация
- Быстрый переход на родительский/дочерний классы
- Быстрый переход на переопределнный или переопределяющий методы
Расширения
- Поддержка модуля
Switch
(без изысков и вариаций, базовый функционал) - Поддержка API
Class::Acessor
- Moose
- Live-templates для Moose-конструкций
- Разрешение вызовов inner и super
- Exporter
- Автокомплит, навигация и рефакторинг массивов @EXPORT и @EXPORT_OK
- Инспекция неизвестных методов теперь следит, чтобы там были только известные функции
- Mason2
- Поддержка файлов: основных, дополнительных и перловых компонент
- Настройки для папок компонент
- Наследование и auto-basing
- Фолдинг, автокомплит, форматирование, навигация и рефакторинг элементов
- Mojolicious
- Переписан парсер. Должен быть шустрее и работать правильнее
- Корректно работает фолдинг
- Автокомплит закрывающих тэгов
- Форматирование Perl-кода
Смешная история: граждане активно просили Mason. И только после реализации выяснилось, что Mason — это Mason v2 а они хотели Mason v1, который называется
HTML::Mason
. Уот так уот…Список фиксов я приводить здесь не буду, интересующие могут ознакомиться со списком изменений.
Что дальше?
По-крупному: HTML::Mason и TemplateToolkit.
Ссылки
- Плагин в репозитории JetBrains: plugins.jetbrains.com/plugin/7796
- Плагин на GitHub: github.com/hurricup/Perl5-IDEA
Приятного кодинга!