SmartConfigurator
Расширяем конфигуратор без Снегопата и ТурбоКонфа
Install / Use
/learn @ret-Phoenix/SmartConfiguratorREADME
Smart Configurator (ранее v8CfgAddsAhk)
Набор скриптов для автоматизации ряда действий в конфигураторе.
Дальнейшее развитие проекта в виде самостоятельного приложения (без Autohotkey): https://github.com/ret-Phoenix/SmartConfigurator2
Набор скриптов с использованием Autohotkey позволяет упросить работу в конфигураторе. Часть функционала дублирует возможности снегопата/турбоконфа, часть уникальна. Возможности конфигуратора расширяются за счет автоматического вызова хоткеев плафтормы/операционной системы. Никаких внедрений в процессы, модификации файлов платформы/ОС не происходит.
Почти все скрипты написаны на OneScript (входит в поставку).
Если кто желает присоединиться к разработке / просмотреть историю изменений / скачать последнюю версию - добро пожаловать: https://github.com/ret-Phoenix/SmartConfigurator
Важно: имеется возможность перенастроить горячие клавиши, для этого редактируется файл SmartConfigurator.ahk
Реализованные функции:
Работа с метаданными:
- Навигация по метаданным: {ctrl + shift +j}
- Навигация по входящим в объект типам: {ctrl + j}
- Поиск метаданных по имени: {Alt + j}
Работа с методами:
- Вызов списка методов: {ctrl +1}
- Переход в начало метода: {Ctrl+b}
- Переход в конец метода: {Ctrl+e}
- Препроцессор метода: {Ctrl+7}
- Переход в процедуру: {ctrl+enter}
- Возврат на предыдущую позицию: {Alt,-}
- Показать имя метода: {Win + N}
- Взять в буфер текущее слово: {Win + C}
Прочие операции с текстом:
- Форматирование выделенного кода: {Ctrl+Alt+f}
- Поиск с рег.выражениями: {Alt+f}
- Поиск с рег.выражениями (результат последнего поиска): {Alt+r}
- Выбор ранее набранных слов + Выбор заранее заготовленных слов\фраз (файл words.txt в корне директории скриптов): {ctrl+w}
- Переход по областям: {Ctrl+2}
- Закоментировать строку: {ctrl + / (ctrl + .)}
- Развернуть модуль: {ctrl+i}
- Авторские комментарии:
- блок добавлен: {alt+a}
- блок изменен: {alt+e}
- блок удален: {alt+d}
- Cимвол '|': {Ctrl-}
- Cимвол '&': {Alt-&}
- Cимвол '[': {Alt-[}
- Cимвол ']': {Alt-]}
- Копирование текущей строки / выделенного блока и вставка в следующей строке: {Ctrl+d}
- Выделение в верхний регистр
- Выделение в нижний регистр
- Выделение в нормальный регистр
- Выравнять по равно
- Выравнять по первой запятой
- Выравнять по выбранному значению
- Очистить модуль (убирает комментарии (исключения в скрипте), лишние пустые строки (оставляет только 1 пустую), убирает пробелы в конце строк)
- Убрать пробелы на конце строк
- Установка/Удаление '|'
- Показать последний список выбора {shift + alt + r}
- Обрамление выделенного текста конструкциями:
- Если ... Тогда
- Пока .. Цикл
- Для По Цикл
- Для каждого Из Цикл
- Попытка .. Исключение
- Область
- Автозамена Переменная ++ Переменная += Переменная -- Переменная -=
- Перейти к началу слова в составной строке: Shift + Alt + Left
- Перейти к концу слова в составной строке: Shift + Alt + Right
- Передвинуть строку вверх: {Alt + Up}
- Передвинуть строку вниз: {Alt + Down}
- Взять в буфер слово под курсором: {Win + C}
- Продолжить комментирование, перенос строки: {Shift + Enter}
Прочие скрипты:
- Открытие внешних отчетов/обработок, файлов конфигурации: {Ctrl + 3}
- Менеджер скриптов (обработка выделенного блока, автоматическое добавление скриптов из папки auto): {Ctrl + shift + m}:
- Генератор кода для объектов метаданных (требуется предварительная генерация файла структуры обработкой SmartConfigurator\ext\ПолучениеСтруктуры.epf)
- Менеджер окон: {Win+W}
- Фильтрация результата поиска: {Win+S}
- Пример работы с меню {Win + X}:
- Быстрый выбор:
- КонецЕсли;
- КонецЦикла;
- КонецПроцедуры;
- КонецФункции
- Выравнивание выделения по знаку равно
- Быстрый выбор:
Новое 2017/10/04
- Снова перешел на обмен через буфер обмена. Выросла скорость в разы.
- Генератор кода переписан на oscript
- Убран оригинальный ContinueRow.ahk, сделана реализация на связке AHK + oscript. Работает моментально, анализирует предыдущие 3-4 строки.
Новое 2017/09/12
- Переход на OneScript GUI
- Множественные правки скриптов
Новое 2017/06/18
- Добавлено:
Форматирование выделенного кода: {Ctrl+Alt+f} - Удалено:
Удаление строки: {Ctrl+y}т.к. перекрывает команду в 1С
Новое 2017/06/14
- Удалить пустые строки
- Взять в буфер слово под курсором: {Win + C}
- Форматирование модуля: {Ctrl + Alt + F}
- Проверка типа текущего окна
- Убрал удаление строки по {Ctrl + Y}
Новое 2017/05/04
- Перейти к началу слова в составной строке: Shift + Alt + Left
- Перейти к концу слова в составной строке: Shift + Alt + Right
- Передвинуть строку вверх: {Alt + Up}
- Передвинуть строку вниз: {Alt + Down}
- Показать имя метода: {Win + N}
- Копировать выделенный блок/текущую строку по {Ctrl+d}
Новое 2016/06/15
- Полная реструктуризация скриптов (разложил по папочкам)
- Обрамление выделенного текста конструкциями - добавил Область
- Автозамена:
- Переменная ++
- Переменная +=
- Переменная --
- Переменная -=
- Переписаны с JS на 1script:
- Добавить/Удалить перенос строк
- Авторские комментарии
- Навигация по модулю
- Список методов
- Спивок областей
- Переход в начало метода
- Переход в конец метода
- Поиск с рег.выражениями
- Внешние файлы (ускорена работа)
- Менеджер скриптов (доступны обе версии, для 1script надо побороть появление консольного окна)
- Показать последний список выбора {shift + alt + r}
- Пример работы с меню {Win + X}:
- Быстрый выбор:
- КонецЕсли;
- КонецЦикла;
- КонецПроцедуры;
- КонецФункции
- Выравнивание выделения по знаку равно
- Быстрый выбор:
Новое 2016/06/10
- Автоматический поиск скриптов в папке auto (найденные скрипты вызываются через менеджер скриптов)
- Обрамление выделенного текста конструкциями:
- Если ... Тогда
- Пока .. Цикл
- Для По Цикл
- Для каждого Из Цикл
- Попытка .. Исключение
Новое 2016/06/08
- Стабилизировал навигацию по метаданным.
- Выделение в верхний регистр
- Выделение в нижний регистр
- Выделение в нормальный регистр
- Выравнять по равно
- Выравнять по первой запятой
- Выравнять по выбранному значению
- Очистить модуль (убирает комментарии (исключения в скрипте), лишние пустые строки (оставляет только 1 пустую), убирает пробелы в конце строк)
- Убрать пробелы на конце строк
- Пример испльзования других скриптовых движков (Python, PHP, 1Script)
Новое 2016/06/07
- Навигация по метаданным: {ctrl + shift +j}
- Навигация по входящим в объект типам: {ctrl + j}
Новое 2016/06/06
- Убрана привязка к svcsvs.dll. Выбор из списка осуществляется через спец.приложение на C#: SelectValueSharp.exe.
Новое 2016/05/20
- Переход в начало метода: {Ctrl+b}
- Переход в конец метода: {Ctrl+e}
- Переход по областям: {Ctrl+2}
- Поиск метаданных по имени: {Alt+j}
- Cимвол '&': {Ctrl-&}
- Cимвол '[': {Alt-[}
- Cимвол ']': {Alt-]}
Установка
Установить Autohotkey (http://www.autohotkey.com/)
Запуск
SmartConfigurator\SmartConfigurator.ahk (Основной набор скриптов, раскладка при запуске значения не имеет)
При желании можно сделать exe файл, инструмент включен в Autohotkey.
Как это работает
При помощи Autohotkey назначаются управляющие сочитания клавиш (хоткеи). На языке Autohotkey описываются действия посылаемые платформе: оправляются нажатия клавиш, получается текст из буфера, читаются и записываются файлы.
Разберем работу скриптов на основе вызова списка методов (процедур/функций):
- Получаем текст модуля (шлем Ctrl+A и Ctrl+ins)
- Записываем полученный в буфер обмена
- Запускаем скрипт парсинга модуля
- Полученный список методов записываем во временный файл
- Запускаем приложение выбора из списка: SelectValueSharp
- Получаем номер строки выбранной функции (указывается в списке выбора перед названием метода) и возвращаем в ahk
- AHK вызывает хоткей перехода к строке (Ctrl + G) и вставляет номер строки, полученный при выборе метода, подтверждает переход к строке
Для обмена между скриптами текстом используются буфер обмена и текстовые файлы. При работе через файл: скрипты читают файл источник, обрабатывают и перезаписывают файл, который потом считывается ahk в буфер обмена и вставляется стандартным способом (Ctrl + V). При работе с буфером обмена результат вставляется напрямую в окно, минуя временные файлы.
Используя менеджер скриптов можно обрабатывать выделенный фрагмент кода. При использовании менеджера текст берется в буфер, обрабатывается выбранным скриптом и не снимая выделения вставляется результат. Скрипты находящиеся в папке auto добавляются в список выбора менеджера, при этом подразумевается что никаких входящих параметров скриптам передавать не надо. Если требуется организовать выбор или ввод данных для автоскрипта используется внешнее приложение, в поставку входит пример: auto\ОбрамлениеКода.os. Выбор обрамления происходит вызовом приложения SelectValueSharp. К автоматически добавляемым относятся файлы с раширением: os
Использование других скриптовых языков
; Ctrl + shit + 1
^+1::
putSelectionInFile()
RunWait, c:\work\portable\OpenServer\modules\php\PHP-5.2\php.exe scripts\other-lang-examples\example.php
pasteTextFromFile()
return
; Ctrl + shit + 2
^+2::
putSelectionInFile()
RunWait, scripts\other-lang-examples\example.py
pasteTextFromFile()
return
example.php
<?php
function Main() {
$data = file_get_contents('tmp/module.txt');
$newdata = strtoupper($data);
file_put_contents('tmp/module.txt',$newdata);
}
main();
?>
example.py
f = open('tmp\module.txt')
data = f.read()
f.close()
data = data.upper()
f = open('tmp\module.txt', 'w')
f.write(data)
f.close()
Related Skills
node-connect
337.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.2kCommit, push, and open a PR
