# Скрипт для работы с шаблонами кода - [Скрипт для работы с шаблонами кода](#%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0%D0%BC%D0%B8-%D0%BA%D0%BE%D0%B4%D0%B0) - [Установить приложение, алгоритм установки стандартный](#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8-%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B9) - [Использование](#%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) - [Конвертация шаблонов](#%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2) - [Объединение шаблонов](#%D0%BE%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2) - [Разделение шаблонов](#%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2) - [Документация](#%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F) ## Установить приложение, алгоритм установки стандартный - opm install snippet-transform - склонировать репозиторий или - распаковать в нужный каталог архив репозитория - для Windows запустить [installlocalhost.bat](/installlocalhost.bat) ## Использование ### Конвертация шаблонов 1. Шаблоны конфигуратора в шаблоны VS Code 2. Шаблоны конфигуратора в шаблоны EDT 3. Шаблоны EDT в шаблоны конфигуратора Поддерживаемые расширения файлов - ".st" - шаблон конфигуратора - ".json" - шаблон языка VSCode - ".code-snippets" - глобальный шаблон VSCode - ".xml" - шаблон EDT Определение типа преобразования происходит на основании расширения файла. Для запуска преобразования используется команда: `snippet-transform convert Исходный-шаблон Новый-шаблон` Примеры: - `snippet-transform convert "Мой любимый шаблон.st" "bsl.code-snippets"` Команда выполнить преобразование шаблона конфигуратор в глобальный шаблон VSCode - `snippet-transform convert "Мой любимый шаблон.xml" "bsl.st"` Команда выполнить преобразование шаблона EDT в шаблон конфигуратора ### Объединение шаблонов `snippet-transform join-files Изменяемый-шаблон Добавляемый-шаблон` - `Изменяемый-шаблон` - Имя файла шаблона, в который будут добавлены записи из второго файла - `Добавляемый-шаблон` - Имя файла, в котором содержатся добавляемые записи `snippet-transform join-path Каталог-шаблонов Результирующий-шаблон` - `Каталог-шаблонов` - Имя каталога, в котором лежат шаблоны, которые нужно соединить. - `Результирующий-шаблон` - Имя файла, в который будет сохранен результат Примеры: - `snippet-transform join-files "Мой любимый шаблон.xml" "Мой второй любимый шаблон.st"` Команда выполнить объединение шаблонов EDT и конфигуратора и запишет результат в шаблон EDT c именем "Мой любимый шаблон.xml" - `snippet-transform join-path "Каталог любимый шаблонов" "Супер шаблон.code-snippets"` Команда выполнить объединение всех поддерживаемых шаблонов каталога и запишет результат в новый шаблон ### Разделение шаблонов `snippet-transform apportion Изменяемый-шаблон Выражение-поиска [Новый-шаблон] [-r]` Удаляет (переносит в новый файл) элементы шаблона, полное наименование которых совпадает с `Выражение-поиска` - `Изменяемый-шаблон` - Имя файла шаблона, из которого будет вырезана часть - `Выражение-поиска` - Регулярное выражение для проверки наименования элемента шаблона. Если выражение совпадает с наименованием, то такой элемент переносится в новый файл. - `Новый-шаблон` - Имя файла шаблона, в который будут помещены исключенные записи - `-r` Переносить элементы, у которых наименование не совпадает с шаблоном Примеры: - `snippet-transform apportion "Мой любимый шаблон.st" "алгоритм"` Удалит из шаблона элементы, в наименовании которых есть слово "алгоритм" - `snippet-transform apportion "Мой любимый шаблон.st" "алгоритм" Алгоритмы.st` Перенесет из шаблона "Мой любимый шаблон.st" в шаблон "Алгоритмы.st" элементы, в наименовании которых есть слово "алгоритм" - `snippet-transform apportion "Мой любимый шаблон.st" "оставить" -r` Удалит из шаблона все элементы, в наименовании которых нет слова "оставить" - `snippet-transform apportion "Мой любимый шаблон.st" "^Супер группа\." -r` Удалит из шаблона все элементы, кроме группы первого уровня "Супер группа" - `snippet-transform apportion "Мой любимый шаблон.st" "Плохая группа\."` Удалит из шаблона группы "Плохая группа" и "очень плохая группа" ## Документация [Инструкция по подключению шаблонов](doc/ПодключениеШаблонов.md)