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

в 15:33, , рубрики: Class::Accessor, IDE, idea, Mason, Mason2, mojolicious, Moose, perl, Perl5, метки:
Вышла версия 1.3 Perl5 плагина для IntelliJ IDEA - 1

Прошло почти два месяца с выхода последней версии плагина и некоторые даже стали интересоваться, не забросил ли я это дело. Нет, не забросил. Разработка идет полным ходом и вот вышла новая версия.

В этом номере: совместимость с 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.

Ссылки

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

Автор: hurricup

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js