Хочу внести на рассмотрение сообщества следующее предложение.
Сейчас по двойному клику в окне Снегопата на скрипте происходит открытие исходного текста скрипта в конфигураторе.
Возможно, кто-то из разработчиков скриптов пользуется этой возможностью для быстрого просмотра исходников или мелких правок, но в целом, как мне представляется, такое поведение можно было бы заменить на более полезное.
Для конечного же пользователя Снегопата, который в общем случае, совсем не обязательно "скриптописатель" - такая возможность вообще бесполезна.
Вообще, на двойной клик скрипта в окне Снегопата, имхо, "напрашивается" выполнение какого-либо действия самим скриптом.
Такое действие должно быть контекстно-независимым (т.е. не требовать активного текстового окна и т.п.), и наиболее подходящим вариантом будет открытие какой-либо формы скрипта.
Для большинства скриптов это может быть открытие формы настройки этого скрипта.
Для других, например extfiles.js, - открытие основной формы скрипта.
Я эксперементально уже больше недели пользуюсь такой возможностью (см. ветки default-macros в
репозитарии Снегопата и в
репозитарии скриптов).
На мой взгляд такое поведение кажется удобным и интуитивно-ожидаемым от окна Снегопата.
Реализовано это при помощи следующего соглашения между Снегопатом и скриптами:
1. Если скрипт содержит метод getDefaultMacros(), то Снегопат по двойному клику на скрипте в окне Снегопата будет вызывать макрос, имя которого должен вернуть указанный метод (в виде строки - имени макроса без префикса macros).
2. Если метода getDefaultMacros() в скрипте нет, то будет отрабатывать стандартное поведение - скрипт будет открываться в окне Конфигуратора.
Это, конечно же, черновой вариант реализации.
В целом для обсуждения идея следующая. Дать возможность пользователю настраивать поведение при двойном клике на скрипте путем выбора из следующих вариантов (настройка общая для всех скриптов):
(а) ничего не делать
(б) открывать исходный код скрипта в Конфигураторе
(в) открывать исходный код скрипта при помощи заданной команды (как в scriptdev.js)
(г) вызывать макрос по умолчанию
При этом, если пользователем выбран пункт (г), а скрипт не содержит метода getDefaultMacros(), то ничего не делать, то отрабатывать по умолчанию вариант (а) с предупреждением в виде названия скрипта - аналог диалога "О скрипте" (чтобы пользователь понимал, что скрипт - рабочий, но просто не экспортирует методов по умолчанию).
По умолчанию в Снегопате должна использоваться настройка (г) "вызывать макрос по умолчанию".
Предлагаю обсудить описанное поведение. Если возражений ни у кого не будет, я буду готов реализовать описанное.