Как настроить автоматическое добавление комментариев по сочетанию клавиш в 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При доработке типовых конфигураций «1С:Предприятие» золотым стандартом разработки является комментирование измененных или добавленных участков кода. Это необходимо для того, чтобы при последующих обновлениях программы другие разработчики (или вы сами спустя время) могли легко идентифицировать авторские изменения, понять причину их появления и быстро объединить код. Стандартный маркер изменения обычно содержит информацию о начале блока, названии организации или автора, дате внесения изменений и конце блока.

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

Базовая настройка шаблонов текста в Конфигураторе 1С

Для начала разберем самый простой и доступный способ, который не требует установки стороннего софта и работает в любом стандартном Конфигураторе «1С:Предприятие». Мы настроим автозамену по специальным символам-префиксам. Рассмотрим этот процесс по шагам.

Шаг 1. Создание нового шаблона текста

  1. Откроем Конфигуратор 1С.
  2. В главном меню перейдем по пути Сервис — Шаблоны текста. Если панель шаблонов еще не создана, система предложит создать или открыть существующий файл шаблонов (файлы с расширением .st). Можно создать новый файл шаблонов и сохранить его в удобное место на диске.
  3. В открывшейся панели «Шаблоны текста» нажмем кнопку Добавить (или выберем добавление нового шаблона через контекстное меню).
  4. В поле «Краткое описание» введем понятное название нашего шаблона, например: Начало блока изменений.
  5. В поле «Автоматически заменять строку» введем короткий и удобный префикс, который мы будем писать в коде для вызова шаблона. Настоятельно рекомендуем использовать префиксы, начинающиеся со знаков комментария, чтобы они не мешали синтаксическому контролю и контекстной подсказке кода. Хороший пример: //+ для открытия блока и //- для закрытия блока.
  6. В поле «Текст шаблона» напишем нужный нам текст комментария. Например:

//---> Начало блока Рога и Копыта Петров П.П. 18.05.2018

  1. Обязательно установим флажок «Включать в контекстное меню». Это позволит вызывать шаблон не только автозаменой, но и через контекстное меню редактора.
  2. Нажмем ОК для сохранения шаблона.

Аналогичным образом создадим шаблон для закрытия измененного блока. В поле «Автоматически заменять строку» укажем префикс //-, а в поле «Текст шаблона» запишем:

//<--- Конец блока Рога и Копыта Петров П.П. 18.05.2018

Шаг 2. Настройка параметров автозамены в модулях

Для того чтобы система реагировала на ввод наших префиксов прямо во время написания кода, необходимо включить соответствующую опцию в настройках Конфигуратора:

  1. Перейдем в меню Сервис — Параметры.
  2. Откроем вкладку Модули, а затем перейдем на вложенную вкладку Редактирование.
  3. Найдем раздел Автозамена и установим режим: Включить с подсказкой или Включить. Оптимальный выбор — «Включить с подсказкой», чтобы перед заменой вы видели небольшое всплывающее меню и могли контролировать процесс.
  4. Обязательно установим галочку «Использовать в комментариях» (или «Использовать автозамену в комментариях»). Если эту галку не поставить, Конфигуратор будет игнорировать автозамену для строк, начинающихся с символов //.
  5. Нажмем кнопку Применить и закроем окно параметров.

Шаг 3. Использование автозамены в коде

Теперь проверим, как работает настроенная автозамена на практике. Откроем любой программный модуль (например, модуль управляемой формы или общий модуль) и выполним следующие действия:

  1. Перейдем на новую строку и напишем префикс начала блока: //+.
  2. Сразу под введенными символами появится всплывающая подсказка с названием нашего шаблона.
  3. Нажмем клавишу Enter (обратите внимание, что нажимать нужно именно Enter, а не стандартное сочетание Ctrl + Пробел). Префикс мгновенно заменится на полноценный многострочный авторский комментарий.

Если нам нужно просто вызвать список всех доступных шаблонов на пустой строке, мы можем нажать сочетание клавиш Ctrl + Пробел на пустом месте в модуле, и система отобразит контекстное меню со списком шаблонов.

---

Продвинутый уровень: Настройка динамических шаблонов в Конфигураторе

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

Конфигуратор поддерживает специальные конструкции (макросы), которые вычисляются «на лету» в момент вставки шаблона в код. Рассмотрим основные динамические теги, которые нам пригодятся:

Давайте объединим эти теги и создадим один универсальный, полностью динамический шаблон для комментирования доработок. Создадим новый шаблон с префиксом //+ и вставим в поле «Текст шаблона» следующее выражение:


//---> Начало изменений: <?"", ИмяПользователяХранилищаКонфигурации> от <?"", ДатаВремя, "ДФ=dd.MM.yyyy">
<?>
//<--- Конец изменений: <?"", ИмяПользователяХранилищаКонфигурации> от <?"", ДатаВремя, "ДФ=dd.MM.yyyy">

Как это работает на практике?

Когда мы напишем в коде //+ и нажмем Enter, Конфигуратор выполнит следующие действия:

  1. Вставит строку начала блока, автоматически подставив вашу учетную запись из хранилища 1С и текущую системную дату.
  2. Перенесет строку и вставит завершающий комментарий с теми же актуальными данными.
  3. Установит курсор на пустую строку строго между комментариями (благодаря тегу <?>). Мы можем сразу же начинать писать программный код без совершения лишних кликов мышкой или нажатий на стрелки клавиатуры.

---

Полезные горячие клавиши для работы с шаблонами

Для того чтобы ускорить написание кода, разберем встроенные горячие клавиши Конфигуратора, которые значительно облегчают работу с шаблонами текста:

---

Использование внешних ассистентов разработчика: TurboConf и Снегопат

Если стандартного функционала Конфигуратора вам недостаточно, или вы хотите осуществлять комментирование по нажатию одной физической комбинации клавиш (без предварительного ввода префиксов), стоит обратить внимание на специализированные утилиты автоматизации работы в среде 1С.

1. TurboConf

Это популярная программа для автоматизации работы программиста 1С. В ее арсенале есть готовый и крайне удобный скрипт под названием «Авторские комментарии» (AuthorComments). Данный инструмент берет на себя всю рутину по оформлению кода:

Вам больше не нужно создавать шаблоны вручную и писать префиксы. Достаточно выделить мышкой или клавиатурой нужные строки кода и нажать Alt + C. Программа сама считает имя разработчика из настроек, текущую дату операционной системы и оформит блок комментариев по всем правилам.

2. Снегопат (Snegopat)

Еще один мощный инструмент автоматизации интерфейса Конфигуратора 1С. Снегопат позволяет писать и использовать скрипты на языках JavaScript и VBScript. С его помощью можно запрограммировать абсолютно любую логику генерации комментариев. Например, можно настроить интеграцию с вашей внутренней таск-трекинг системой (Jira, Redmine), чтобы при нажатии горячей клавиши скрипт автоматически запрашивал номер задачи, забирал ее название и вставлял эту информацию прямо в комментарий к коду 1С.

---

Особенности комментирования в современной среде разработки 1C:EDT

Если ваша команда уже перешла с классического Конфигуратора на современную среду разработки 1C:EDT (Enterprise Development Tools), созданную на базе Eclipse, то механизм работы с шаблонами будет выглядеть совершенно иначе. Здесь он обладает колоссальной гибкостью.

В EDT шаблоны называются «Шаблонами кода» (Code Templates). Чтобы настроить их, выполните следующие шаги:

  1. Перейдем в меню Окно — Параметры (Window — Preferences).
  2. Откроем ветку 1С:Предприятие — Модули — Шаблоны кода.
  3. Нажмем кнопку Создать... (New...).
  4. Зададим имя шаблона (префикс для автозамены) и описание.
  5. В поле ввода текста шаблона мы можем использовать богатый набор системных переменных Eclipse. Например:

//---> Начало изменений: ${user} от ${date} ${time}
${cursor}
//<--- Конец изменений: ${user} от ${date} ${time}

Где:

Преимущества использования шаблонов в 1C:EDT:

Основное преимущество EDT заключается в том, что шаблоны кода можно сохранять не только локально на конкретном компьютере разработчика, но и на уровне **конкретного проекта** (в специальных файлах конфигурации проекта). Это позволяет зафиксировать единый формат комментариев для всей вашей команды разработчиков, закомитить эти настройки в Git-репозиторий проекта, и каждый участник команды при клонировании репозитория автоматически получит одинаковые, стандартизированные шаблоны комментариев. Это полностью исключает ситуацию, когда каждый разработчик комментирует код в собственном уникальном стиле.

← На главную