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

вчера в 18:33

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.

Ссылки


Приятного кодинга!

d878521a0dea84af699d826d684f52b0.jpg

Программист

© Habrahabr.ru