D 2011-12-11T14:00:38.691 L snippets.js U kuntashov W 9744 Скрипт "Шаблоны кода" (snippets.js) Предназначен для расширения возможностей штатного механизма шаблонов кода конфигуратора 1С:Предприяти 8.

Возможности скрипта

Вставка шаблонов из списка шаблонов

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

При помощи скрипта шаблон "применять" к текущему выделению.

Любые шаблоны, содержащие в себе штатную конструкцию "Установка курсора" (<?>) могут быть не просто вставлены в текст модуля в текущую позицию, но и "применены" к выделенному тексту. Это означает, что выделенный текст перед вставкой шаблона будет подставлен в текст шаблона вместо управляющей конструкции "Установка курсора" (<?>), а затем полученный код будет вставлен в текст модуля вместо выделенного текста.

Возможность указывать альтернативную позицию установки курсора

В шаблоне, который предполагается использовать одновременно для создания нового кода и для "применения" к выделенному тексту можно указать альтернативную позицию установки курсора. Например, шаблон "Если" может быть настроен таким образом, чтобы когда шаблон применяется к выделению, выделенный текст обрамляется конструкцией "Если", а курсор устанавливается в позицию, обозначенную |: Если | Тогда // Здесь будет выделенный текст КонецЕсли; Для указания в шаблоне места альтернативной установки курсора используется штатная управляющая конструкция "Произвольный запрос" (<?"">), подсказка которого начинается с символа "|" (например, <?"|Условие">). Для приведенного примера шаблон будет выглядеть следующим образом: Если Тогда КонецЕсли; Если такой шаблон вставляется "традиционно" - без выделения, то место вставки курсора будет определяться управляющей конструкцией <?>, иначе будет использована альтернативная позиция.

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

Шаблоны, которым вы хотите назначить индивидуальный хоткей, должны первой строчкой содержать следующую управляющую конструкцию: <%Макрос "<Имя макроса шаблона>"> где <Имя макроса шаблона> - имя, под которым макрос для вставки этого шаблона появится в списке макросов скрипта "Шаблоны кода". Назначение хоткея такому макросу осуществляется в окне настройки горячих клавиш Снегопата. Перед вставкой шаблона при помощи "Шаблоны кода" строка с управляющей конструкцией будет удалена. Индивидуальные макросы можно использовать для реализации шаблонов - "авторских комментариев". Пример такого шаблона: <%Макрос "Авторский комментарий: Добавление">; //{Добавлено - Начало. - //}Добавлено - Конец. При наличии такого шаблона в макросы "Шаблоны кода" будет добавлен макрос с именем "Вставить шаблон Авторский комментарий: Добавление", которому можно будет назначить свою горячую клавишу.

Дополнительные управляющие конструкции для использования в шаблонах

Скрипт "Шаблоны кода" добавляет поддержку дополнительных управляющих конструкций для вставки значений свойств основной конфигурации, а также для вставки имени пользователя операционной системы, в сеансе которого запущен конфигуратор. Назначение каждой конструкции понятно из ее представления: <%Конфигурация.Имя> <%Конфигурация.Синоним> <%Конфигурация.Комментарий> <%Конфигурация.Поставщик> <%Конфигурация.Версия> <%Конфигурация.АвторскиеПрава> <%Конфигурация.КраткаяИнформация> <%Конфигурация.ПодробнаяИнформация> <%Конфигурация.АдресИнформацииОКонфигурации> <%Конфигурация.АдресИнформацииОПоставщике> <%ИмяПользователяОС> Обратите внимание, что в отличии от штатных управляющих конструкций дополнительные конструкции используют немного отличающийся синтаксис: Для вставки этих управляющих конструкций в шаблон при его редактировании штатным редактором шаблонов "1С:Предприятия 8" используйте макрос скрипта "ВставитьРасширеннуюУправляющуюКонструкцию".

Скрипт использует штатный формат файлов шаблонов 1С (*.st)

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

Ссылки:

* [/finfo?name=snippets.js|История версий] * [http://snegopat.ru/forum/|Обсуждение на форуме] Z e2c98243b4853e10c554b119d9743db2