Перейти на главную страничку сайта (список статей, файлы для скачивания)
Скрипты для платформы OpenConf, о которых пойдёт речь в этой статье, предназначены для повышения удобства и автоматизации редактирования кода конфигурации или внешних обработок 1С:Предприятия. Данные скрипты требуют наличия работающего OpenConf. Получить информацию об OpenConf (в том числе и о том, где его можно скачать вместе со скриптами, о которых пойдёт речь в этой статье) вы можете в статье "Проект OpenConf (Открытый Конфигуратор)" на этом сайте. Скрипты для платформы OpenConf распространяются свободно.
Установка скриптов сводится к следующему:
Установленные скрипты содержат макросы (состав макросов вы можете изучить в дереве на вкладке OpenConf окна конфигурации), каждому из которых вы можете назначить сочетание клавиш через меню "OpenConf" - "Макросы" - "Клавиатура...". Перед установкой сочетаний клавиш вы можете запустить любой макрос вручную, находясь в любом режиме работы, нажав Ctrl+M и выбрав нужный макрос в специальном диалоговом окне.
Скрипт author.js автоматизирует разметку кода по признакам модифицированности со вставкой авторского комментария (подписи автора). Гибкая настройка подписи производится в специальном диалоговом окне. Полезные макросы:
Макрос | Описание |
---|---|
Настройка | Вызывает окно настроек подписи. Настройки сохраняются в реестре в папке HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Scripts\Авторские комментарии\. |
МаркерДобавлен | Маркирует выделенный блок или текущую строку признаком "Добавлен". |
МаркерИзменен | Копирует и маркирует выделенный блок или текущую строку признаком "Изменён". |
МаркерУдален | Комментирует и маркирует выделенный блок или текущую строку признаком "Удалён". |
ВставитьТекст | Вставляет текст из буфера обмена и маркирует его как добавленный. Если выделен блок текста, этот блок комментируется и маркируется как изменённый (изменённый на текст из буфера обмена). |
Чтобы понять, как работают макросы подписей, поэксперементируйте с настройками (макрос "Настройка"). Потраченное время с лихвой окупится удобством редактирования кода "чужих" (например, типовых) конфигураций, когда будет необходимо помечать в коде сделанные изменения. Макросы работают немного по-разному в ситуациях, когда выделено несколько строк, или одна строка (или ничего не выделено).
Скрипт Brackets.vbs позволяет обрамить текст в коде выбранной конструкцией, например двойными кавычками, конструкцией "СокрЛП(...)" и подобными. Если текст состоит из нескольких слов, его необходимо выделить. Полезные макросы:
Макрос | Описание |
---|---|
ChoiseTypeBracket | Выдаёт список возможных конструкций для выбора и обрамляет текст выбранной конструкцией. Точка в каждой предлагаемой конструкции определяет положение обрамляемого текста. |
AddBracket | Обрамляет текст последней выбранной конструкцией без вопросов. |
Список предлагаемых конструкций при необходимости можно отредактировать, открыв скрипт в любом текстовом редакторе. Для этого в процедуре скрипта ChoiseTypeBracket() следует отредактировать оператор присвоения значения переменной ArrOfTypeBracket, например, добавив в массив свои конструкции. Точка в каждой конструкции определяет положение обрамляемого текста.
Скрипт bufer.vbs позволяет эмулировать "многокарманный" буфер обмена (как в MS Office XP/2003 или Punto Switcher), сменить регистр текста (как в MS Word), автоматически сменить раскладку (рус/лат) неверно набранного текста (как в Punto Switcher). Полезные макросы:
Макрос | Описание |
---|---|
Settings | Настройка многокарманного буфера в диалоговом окне. Позволяет включить/выключить многокарманный буфер и включить/выключить использование меток в многокарманном буфере. Если поставить флажок "Использовать метки", то при копировании текста будет выдаваться запрос на задание метки к копируемому тексту. Впоследствии при выборе из многокарманного буфера будут показываться метки, а не сам текст. |
CopyText | Копирует текст в многокарманный буфер. Если окно не текстовое, то копирование осуществляется стандартным буфером. Можно назначить сочетание клавиш Ctrl+C. |
PasteText | Осуществляет вставку текста. Если окно не текстовое, то вставка происходит из стандартного буфера. Можно назначить сочетание клавиш Ctrl+V. |
EmptyBufer | Удаляет из буфера выбранное значение. Можно назначить сочетание клавиш Ctrl+Shift+D. |
EmptyAll | Удаляет из буфера всё содержимое. Можно назначить сочетание клавиш Ctrl+D. |
Translit | Сменить раскладку (рус/лат) выделенного текста. |
ToggleCase | Сменить регистр текущего слова или выделенного текста. Можно назначить сочетание клавиш Shift+F3. Смена регистра имеет три итерации: все строчные, все заглавные, первая заглавная. |
Скрипт RTrimModule.vbs служит для удаления пустых строк и пробелов в концах строк программных модулей. Полезные макросы:
Макрос | Описание |
---|---|
RTrimCurrentWnd | Обработка текущего открытого модуля. |
ReFormatCurrentWnd | Обработка текущего открытого модуля с последующим автоматическим форматированием ("штатным" Ctrl+Shift+F). |
RTrimGlobalModuleDocReportsAndCalcVars | Обработка глобального модуля, всех документов, отчётов и обработок конфигурации. |
Скрипт Замена кода trad.vbs служит для автоматического добавления/убирания в начале выделенного блока символов: "|" и "//#" и автоматического сдвига влево/вправо текста выделенного блока за символом "|" для форматирования запросов. Полезные макросы:
Макрос | Описание |
---|---|
FormatSharp | Комментирует выделенный блок или текущую строку символами "//#". Можно назначить сочетание клавиш Ctrl+3. Примечание: при использовании внешней компоненты 1С++ комментарии типа "//#" указывают на команды препроцессора. |
UnFormatSharp | Раскомментирует выделенный блок или текущую строку, закомментированную символами "//#". Можно назначить сочетание клавиш Ctrl+Shift+3. |
FormatVertical | "Комментирует" выделенный блок или текущую строку символами "|". Можно назначить сочетание клавиш Ctrl+\. |
UnFormatVertical | "Раскомментирует" выделенный блок или текущую строку, "закомментированную" символами "|". Можно назначить сочетание клавиш Ctrl+Shift+\. |
MoveBlockLeftSpace | Сдвигает выделенный блок или текущую строку, "закомментированную" символами "|", на пробел влево (если это возможно). Можно назначить сочетание клавиш Ctrl+[. |
MoveBlockRightSpace | Сдвигает выделенный блок или текущую строку, "закомментированную" символами "|", на пробел вправо. Можно назначить сочетание клавиш Ctrl+]. |
MoveBlockLeftTab | Сдвигает выделенный блок или текущую строку, "закомментированную" символами "|", на табулятор влево (если это возможно). Можно назначить сочетание клавиш Ctrl+,. |
MoveBlockRightTab | Сдвигает выделенный блок или текущую строку, "закомментированную" символами "|", на табулятор вправо. Можно назначить сочетание клавиш Ctrl+.. |
Скрипт Замена кода.vbs служит для замены и/или обрамления кода различными способами, удобного копирования строк, вставки комментариев и т.п. (см. ниже описание макросов). Полезные макросы:
Макрос | Описание |
---|---|
CodeReplace | Служит для замены выделенного блока или текущей строки кода с включением обрамляющих комментариев (похоже на макрос "МаркерИзменен" из author.js, но немного в другом стиле). Чтобы настроить начальный и конечный комментарий, присвойте нужные значения переменным sBeginComment и sEndComment в начале скрипта. |
CodeReplaceWithQuestion | То же, что и CodeReplace, но текст начального и конечного комментария каждый раз запрашивается в диалоговом окне. |
CodeFramingWithQuestion | Служит для обрамления выделенного блока или текущей строки кода указанными комментариями. Текст начального и конечного комментария каждый раз запрашивается в диалоговом окне. |
CodeFramingForTimer | Служит для обрамления выделенного блока или текущей строки кода командами "гТаймер.Запуск("Method");" и "гТаймер.Стоп("Method");", где "Method" - имя метода, которое запрашивается в диалоговом окне при вызове макроса. Примечание: удобно при использовании класса "Общие.ТаймерСКоличеством" 1С++ для профилирования кода, т.е. определения наиболее "медленных" участков кода. Класс доступен для скачивания здесь. |
CopyLine | Копирует текущую строку или выделенный блок кода. Если назначить этому макросу "быструю" клавишу, такое копирование становится значительно более удобным, чем копирование "штатными" способами. |
ExchangeLeftAndRightOfAssign | Меняет местами левую и правую часть оператора присваивания с сохранением возможных комментариев и пробелов возле знака "=". |
CommentSelection UnCommentSelection |
Комментируют и раскомментируют выделенный блок или текущую строку. В отличие от типовых "Ctrl+/" и "Ctrl+Shift+/" не требуют выделения, если работа происходит с текущей строкой. В vbs-скриптах при работе с текущей строкой используют символ апострофа. |
Скрипт Копировать модуль в буфер обмена.vbs позволяет скопировать текст текущего модуля в буфер обмена или заменить текст текущего модуля на содержимое буфера обмена, не затронув конструкцию "#ЗагрузитьИзФайла", если таковая имеется в начале модуля. Полезные макросы:
Макрос | Описание |
---|---|
CopyTextToClipboard | Копирует текст текущего модуля в буфер обмена. |
ReplaceTextFromClipBoard | Заменяет текущий модуль на содержимое буфера обмена. |
Скрипт Форматирование текста.vbs позволяет выровнять выделенный текст по знакам равенства ("=") различными способами. Полезные макросы:
Макрос | Описание |
---|---|
FormatBlock | Форматирует выделенный блок. Например, текст
ы=1; абвгде = 2;превратится в текст ы =1; абвгде = 2; |
FormatLines | Форматирует выделенный блок. Например, текст
ы =1; абвгде = 2;превратится в текст ы = 1; абвгде = 2; |
FormatBlockWithTabs | То же, что и FormatBlock, но используются символы табуляции. |
ChoiseCharForFormating | Позволяет сменить символ разделителя (по умолчанию "=") на другой (предлагается список). Выбранный символ будет работать до перезагрузки скрипта (или до следующего перевыбора этого символа). |
FormatBlockWithTabsAskChar | Запрашивает символ-разделитель (предлагается список), а затем форматирует выделенный блок с использованием символов табуляции. Практически - последовательно вызывает макросы ChoiseCharForFormating и FormatBlockWithTabs. |
Скрипт RunPerlScripts.vbs позволяет убрать из текстов модулей лишние пробелы и пустые строки, а также автоматически сгенерировать текст модуля какого-либо объекта конфигурации на основе существующих шаблонов (такие шаблоны необходимо предварительно создать). Полезные макросы:
Макрос | Описание |
---|---|
CodeBeautifier | Удаляет пробелы в концах строк текущего модуля и пустые строки (из нескольких пустых строк, идущих подряд, остаётся только одна). |
CodeIns | Вставляет код в текущий модуль, используя существующие шаблоны в каталоге текущей информационной базы. Файлы "ФормаДокумента.pl" и "ФормаЭлемента.pl" являются примерами таких шаблонов. Удобен при создании нового документа, справочника, журнала, отчета или обработки в конфигурации. Шаблоны для различных модулей конфигурации необходимо создать самостоятельно. Возможные имена шаблонов: "МодульДокумента", "ФормаДокумента", "ФормаЭлемента", "ФормаГруппы", "ФормаСписка", "ФормаЖурнала", "Отчет", "Обработка" (расширение имён файлов - .pl). |
CodeInsReferences | Применяет шаблоны ко всем справочникам конфигурации. |
CodeInsDocuments | Применяет шаблоны ко всем документам конфигурации. |
CodeInsToAll | Последовательно запускает макросы CodeInsReferences и CodeInsDocuments. |
Людоговский Александр
Перейти на главную страничку сайта (список статей, файлы для скачивания)
© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.