Меня зовут Александр Мамонов, и в KODE я занимаюсь разработкой на Flutter. Я столкнулся с бойлерплейтом композиции фич в наших проектах, поэтому решил написать универсальный плагин для создания файловой структуры фич в проекте.
В статье расскажу и покажу, как сделать базовый плагин для создания файловых структур и собрать его для локального использования или публикации.
В начале нужно установить плагин «Plugin Dev Kit» из магазина плагинов https://plugins.jetbrains.com/plugin/22851-plugin-devkit.
Выбираем «Создать новый проект». Затем тип проекта — IDE Plugin, и указываем его название.
Должен получиться такой шаблон:
Открываем gradle.properties и вставляем параметры. Ниже в комментариях в коде указаны ссылки на ресурсы, где можно подробнее ознакомиться с параметрами.
Затем открываем plugin.xml
и заменяем содержимое в коде.
group-id="NewGroup" добавляет наше действие в группу “new” при взаимодействии с директориями, а anchor="last" добавляет наше действие последним в списке.
В параметр icon можно добавить свою svg-иконку, которая будет использоваться как в магазине приложений, так и в самой IDE при выборе действия.
В данный момент IDE будет ругаться на параметр class — мы его создадим в следующем шаге.
Создадим класс InputDialog
и наполним его.
Этот диалог будет вызываться при нажатии нашего действия и будет выглядеть вот так:
Следом создаем GenerateFolderStructureAction
и наполняем его.
Для того, чтобы проверить плагин, в верхнем правом углу будет команда run plugin.
Она запустит новое окно IDE с включенным в него вашим плагином. Если плагин отработал корректно, пришло время сборки и публикации.
Создаем новое действие Gradle, а в команде выбираем runPluginVerifier:
Запускаем новый скрипт:
И исправляем ошибки — в том случае, если они будут.
Если скрипт прошел успешно, то в папке build/distributions будет лежать .zip архив с вашим плагином.
Если вы хотите поделиться плагином локально, данный архив можно установить без публикации, через команду install Plugin from Disk в самой студии.
Создаем аккаунт в https://plugins.jetbrains.com/ и выбираем upload plugin:
Заполняем поля, делаем скриншоты работы нашего плагина и следуем дальнейшим подсказкам от jetbrains.
Ревью и публикация плагина занимает два-три рабочих дня, так что наберитесь терпения.
В данном туториале мы создали базовый плагин для создания файловых структур и собрали его для локального использования или публикации.
Ознакомиться с реализацией можно на GitHub
Надеюсь, дальнейшее развитие вашего плагина пойдет проще!