Переход с классического Конфигуратора на 1C:EDT (Enterprise Development Tools) часто сопровождается поиском привычных инструментов автоматизации написания кода. Одним из самых востребованных механизмов являются шаблоны текста (сниппеты). В этой статье мы подробно разберем, как не только воспроизвести привычный функционал шаблонов из Конфигуратора, но и значительно расширить его благодаря возможностям платформы Eclipse.
Разберем структуру хранения настроек. В EDT существует два уровня настройки шаблонов: глобальный (для всей рабочей области) и локальный (для конкретного проекта). Это позволяет гибко управлять инструментарием программиста.
Рассмотрим глобальную настройку:
Здесь вы увидите список всех доступных шаблонов, которые будут работать во всех проектах, открытых в текущем Workspace.
Проанализируем настройку для конкретного проекта:
Часто требования заказчиков различаются (например, разные префиксы в номерах задач). В этом случае нам помогут локальные настройки:
Если у вас за годы работы накопилась база шаблонов в формате .st, вам не придется переписывать их вручную. Выясним, как выполнить импорт:
.st, экспортированный из Конфигуратора.Одной из ключевых задач автора темы была возможность вставки авторского комментария с номером задачи. В Конфигураторе это часто требовало ручного ввода. В EDT мы можем использовать интерактивные переменные.
Рассмотрим пример создания шаблона для авторского комментария. Вместо статичного текста мы будем использовать конструкции вида ${имя_переменной}. Посмотрим на пример кода шаблона:
// {{ Добавлено: ${user} ${date} Задача № ${TaskID}
${cursor}
// }} Конец добавления Задача № ${TaskID}
Разберем, как это работает по шагам:
${user} — EDT автоматически подставит имя пользователя из настроек ОС.${date} — будет вставлена текущая дата.${TaskID} — это произвольная переменная. Когда вы вызовете шаблон, курсор встанет на первое поле TaskID. Вы вводите номер задачи, и он автоматически дублируется во всех местах шаблона, где встречается эта переменная.${cursor} — указывает место, где окажется курсор после того, как вы завершите ввод всех параметров и нажмете Enter или Tab.EDT предлагает гораздо больше системных переменных, чем старый Конфигуратор. Проанализируем наиболее полезные:
${enclosing_method} — автоматически вставляет имя процедуры или функции, внутри которой вызывается шаблон.${enclosing_type} — подставляет имя текущего модуля или объекта метаданных.${time} — вставляет текущее время.Использование этих переменных позволяет создавать максимально информативные комментарии без лишних движений со стороны разработчика.
Шаблоны в EDT обладают встроенным интеллектом. При создании или редактировании шаблона вы можете указать его Контекст (Context). Например:
Также обратим внимание на опцию Format вошедшего текста. Если она активна, EDT автоматически выровняет вставленный код по правилам текущего модуля (табуляция, отступы). Это гарантирует, что структура вашего кода останется чистой и аккуратной.
Важным преимуществом 1C:EDT является то, что при включении «Project specific settings» (настройки конкретного проекта), все ваши шаблоны сохраняются в служебной папке .settings внутри папки проекта. Рассмотрим выгоды такого подхода:
.st или заставлять коллег вручную настраивать формат комментариев.Таким образом, настройка шаблонов в 1C:EDT не только полностью заменяет привычный функционал Конфигуратора, но и переводит автоматизацию написания кода на новый уровень за счет глубокой интеграции с платформой Eclipse и системой контроля версий.