
Всем привет! На связи Дима Котиков, и это заключительная статья цикла про File Templates. В предыдущих частях мы познакомились с инструментом File Templates, разобрали синтаксис написания шаблонов и написали шаблоны для кода типового экрана SomeFeature мобильного приложения.
В заключительной части разберем, как можно экспортировать и импортировать File Templates в Intellij-IDE, а также подведем общие итоги по циклу статей.
Экспорт и импорт File Templates отдельно от остальных настроек
В средах разработки Intellij можно экспортировать и импортировать настройки, в том числе и шаблоны. Это может быть полезно при смене ПК или при необходимости поделиться с кем-нибудь шаблонами.
Чтобы экспортировать шаблоны, нужно нажать в верхнем меню File → Manage IDE Settings → Export Settings.

В диалоговом окне выбираем пункты с шаблонами, путь сохранения и нажимаем OK:

Важный момент: в выходной архив будут экспортированы все пользовательские шаблоны, поэтому, если нужно поделиться только какими-то специфичными шаблонами, нужно вручную удалить из архива те, которые не нужны.
Для этого распаковываем архив, заходим в папку fileTemplates
и удаляем то, что не нужно:

fileTemplates
В папке includes
найдем обобщенные шаблоны, а ненужные можем удалить. Но на этом еще не все: нужно вернуться в корневую папку с шаблонами, перейти в папку options
, в которой будет находиться файл file.template.settings.xml
, открыть его:

file.template.settings.xml
В этом файле в тегах <template ... />
в поле name
ищем названия ненужных шаблонов и удаляем вместе с блоками <template ... />
, после чего сохраняем изменения в файле.
В корневой папке есть файл installed.txt
, в котором может быть информация об установленных плагинах в вашей студии разработки. Там можно подчистить те, которые не хотите добавлять в выходной архив с настройками.
Далее нужно запаковать файлы обратно в архив. Если у вас Mac OS, стандартным архиватором это лучше не делать, так как архив будет недоступен для импорта. Для архивации я использовал бесплатную программу unzip - rar zip 7z unarchiver:

Полученный архив готов к передаче коллегам и импорту в среды разработки.
Чтобы импортировать шаблоны из архива, необходимо в среде разработки нажать в верхнем меню File → Manage IDE Settings → Import Settings
:

Выбрать архив с шаблоном и в появившемся диалоговом окне нажать OK
:

После выполнения импорта будет запрошен перезапуск среды разработки для применения настроек и после перезапуска можно будет использовать импортированные шаблоны.
Плюсы и минусы инструмента, выводы
Мы изучили механизм генерации bolierplate-кода с помощью инструмента File Templates.
Плюсы:
Инструмент встроен в среду разработки — его не нужно скачивать и настраивать, как этого требуют сторонние плагины.
Можно гибко настраивать генерацию как одного файла, так и нескольких.
Можно настроить генерацию файлов в папках и подпапках.
Можно задать пользовательские переменные, по которым будет происходить генерация шаблонов.
Можно выделить обобщенные шаблоны для использования в других шаблонах.
Есть возможность экспорта и импорта шаблонов в среде разработки.
Минусы:
Необходимо хотя бы минимальное знание языка шаблонов Apache Velocity. Однако на изучение базовых конструкций не требуется много времени — для простых шаблонов достаточно понимания конструкций
#if
,#set
и знания базовых переменных шаблонов по типу$NAME
и$PACKAGE_NAME
.Нет возможности генерировать код в уже созданных файлах. Но инструмент и не призван это делать, для этих целей существуют Live Templates, также доступные из коробки в среде разработки.
File Templates — мощный инструмент, позволяющий сильно сократить время на генерацию файлов с шаблонным кодом. Он доступен из коробки и не требует лишних действий перед использованием, достаточно прост в освоении, а один раз написанные шаблоны могут использоваться в больших командах, что в целом позволит сократить время разработки.
Делитесь своими шаблонами в комментариях, хорошего кодинга! ?
Ссылки на предыдущие части: