
Всем привет! На связи Дима Котиков, ведущий Android-разработчик в Т-Банке. Я все еще люблю разбираться в технологиях, разрабатывать под Android и KMP и пить латте на фундучном молоке :)
Расскажу, как можно шарить File Templates для своей команды, чтобы облегчить жизнь другим и сэкономить немного времени. Причем коллегам ничего самостоятельно не придется настраивать: подтянутый из git-а репозиторий с кодом все сделает сам. Эта статья — бонус к трем предыдущим, в которых я рассказывал, как уменьшить написание boilerplate-кода. Ссылки на них оставлю в конце статьи.
Экспорт File Templates
Без долгих предисловий — начинаем! Сначала экспортируем File Templates из Intellij IDEA/Android Studio:
1. Идем по пути File → Manage IDE Settings → Export Settings.

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

3. Распаковываем экспортированный архив, вернемся к содержимому немного позже.
В каждом проекте, создаваемом в IDE от Intellij, создается скрытая папка .idea, в которой хранятся настройки, специфичные для конкретного проекта.
Как правило, папка .idea по умолчанию добавлена в список .gitignore и файлы из нее не попадают в git-систему при push-ах коммитов. В .idea хранится информация о запусках и конфигурациях проекта, настройки codestyle, настройки плагинов, иконка для проекта и так далее.
Увидеть папку можно, переключившись на режим отображения Project. На некоторых версия Intellij папка .idea может быть не видна — тогда переключитесь в режим Project Non-Source Files.


Настройка шаринга шаблонов
С помощью размещения файлов в папке .idea будем настраивать шаринг наших шаблонов кода для других членов команды. Для этого понадобится:
1. Зайти в папку, в которую мы распаковывали архив с шаблонами.

2. Скопировать папку fileTemplates из папки с распакованным архивом в папку .idea нашего проекта.

3. Вернуться к папке с распакованным архивом с шаблонами, зайти в папку options, скопировать из нее файл file.template.settings.xml и вставить его в корень папки .idea (не в .idea/fileTemplates, а именно в .idea).

4. Добавить содержимое папки .idea/fileTemplates и файл .idea/file.template.settings.xml в git: выделить папку и файл → нажать правую кнопку мыши → в появившемся меню выбрать Git → Add.

4. Сделать commit и push в удаленный Git-репозиторий.
Теперь мы и коллеги смогут подгрузить шаблоны из удаленного репозитория и использовать их. Если шаблоны по умолчанию не видны из контекстного меню (правая кнопка мыши в дереве файлов → New), то необходимо зайти в меню Settings → Editor → File and Code Templates и в пункте Scheme выбрать Project.

Шаблоны появятся в контекстном меню и будут доступны к выбору:

Заключение
Вот таким незатейливым способом можно делиться шаблонами с членами команды, без передачи zip-архива с шаблонами и манипуляций с импортированием его в IDE.
Плюсы:
Повышение автоматизации рутины в команде.
Отсутствует необходимость в ручном импортировании шаблонов в IDE.
Нет риска утери написанных шаблонов при обновлениях IDE (шаблоны храним в Git).
Нет необходимости ручного экспорта или импорта шаблонов при обновлениях IDE.
Минусы:
Потраченная минута времени ?
А еще через папку .idea можно:
Шарить настройки codeStyle: папка .idea/codeStyles, в ней файлы codeStyleConfig.xml и Project.xml.
Добавлять иконку к своему проекту: файл .idea/icon.svg — будет отображаться в меню выбора проекта в IDE.
Шарить настройки к каким-либо специфичным плагинам.
Всем хорошего кодинга и поменьше рутины!
Ссылки на серию статей по File Templates:
Часть 1. Уменьшаем написание boilerplate с помощью File Templates
Часть 2. Примеры использования File Templates для типовых сценариев, где требуется шаблонный код