StEludio

Материал из Eludia
Перейти к: навигация, поиск

Содержание

Один хороший программист сказал: "Интерфейсы бывают интуитивными, а бывают эргономичными. Например, интерфейс Win... интуитивен, но не эргономичен, а интерфейс BMW..., напротив, весьма эргономичен при полной неинтуитивности".

Так вот, StEludio — именно эргономичный интерфейс, предназначенный для разработки Eludia-приложений. Это маленькая Win-программа, базирующаяся на великолепной текстовой VCL-компоненте SynEdit, для которой назначены горячие клавиши в соответствии с правилами именования процедур Eludia. Кроме того, для всех стандартных процедур там имеются готовые шаблоны кода.

Это нехитрое средство "малой механизации" позволяет экономить 2-3, а то и целых 5 секунд на каждом переключении между фрагментами исходников: не нужно искать закладку и попадать в неё мышкой, достаточно просто нажать горячую кнопку. А разработка несложных (причём многочисленных) стандартных экранов приложения сводится в основном к прописвыванию заголовков. У опытных э-людей эти рефлексы отрабатываются не головным, а спинным мозгом, что заметно разгружает нервную систему в целом.

Использование большинства возможностей StEludio описано и проиллюстрировано в кратком курсе.

Версионный контроль

В StEludio предусмотрена простейшая интеграция с Windows-оболочками двух популярных систем контроля версий: TortoiseSVN или TortoiseGit. Всё взаимодействие сводится к вызову той или иной оболочки с соответствующими параметрами. Подключение текущей директории к той или иной системе контроля определяется автоматически, по наличию характекных служебных файлов.

Удалённое редактирование (SSH)

Изначально StEludio был предназначен для работы в файловой системе Windows. Правда, пожалуй, большая часть правок с его помощью была внесена не на локальных дисках, а на Linux-серверах с директориями, подмонтированными в качестве сетевых дисков при помощи Samba. Такой режим работы довольно удобен, однако доступен не всегда.

Достаточно стандартная ситуация: имеется SSH-доступ к UNIX-серверу с установленным приложением. Можно ли при этом использовать StEludio для редактирования кода, не копируя файлы вручную? При некоторых разумных допущениях — вполне. Для этого следует:

  • Установить PuTTY (полный набор) в директорию "C:\Program Files\putty". Имя директории существенно: поскольку узнать родную директорию PuTTY из системных переменных или registry не представляется возможным, пришлось задать фиксированное значение.
  • Сгенерировать пару ключей при помощи PuTTYgen и настроить заход на нужный сервер по публичному ключу, без пароля.
  • Создать в директории lib файл с расширением .elnk следующего содержания:
[имя профиля PuTTy]:[директория приложения на удалённом сервере]

Например:

dev:/var/projects/my_project

Теперь можно запускать StEludio, передав имя .elnk-файла как параметр (вместо Config.pm). При таком запуске сначала к вам сначала при помощи pscp будет скопирована директория lib, а в дальнейшем при локальном сохранении каждого файла он будет пересылаться на сервер той же утилитой. Обновление Content/menu.pm осуществляется командой touch через plink. А все горячие клавиши, связанные с svn/git, запускают новое окно PuTTY для заданного профиля.

Нерешённые задачи

Описанный функционал находится в состоянии, скажем так, beta. Возможны и желательны доработки в следующих направлениях:

  • задание директории при запуске PuTTY (без изменения профиля);
  • использование монолитной архивации (а ещё лучше — протокола rsync) при массовой передаче файлов;
  • интеграция W-PuTTY-CD DLL вместо внешних вызовов отдельных exe-файлов.

Справка по горячим клавишам

Навигация по процедурам

F2: автоматическое распознавание Content-процедуры, соответствующей активному окну браузера (пока только для единственного окна MSIE и $_SKIN'ов TurboMilk и IsUp).

Alt-S Select Alt-W draW
Alt-G Get_item Alt-M draw_iteM
Alt-C do_Create
Alt-U do_Update
Alt-D do_Delete
Alt-A do_Add
Alt-P do_Print

Экраны

F6 Переключение между процедурами и Config.pm / Model
Ctrl-N В окне процедур — новый тип, в окне Config.pm / Model — новая таблица
Ctrl-B Новое действие
Ctrl-F8 Фильтр типов (ввод подстроки)
F8 Селектор (список) типов
F9 Селектор ролей
F12 Селектор последних отредактированных процедур

Редактор

Tab Отбить выделенное вправо
Ctrl-> Закомментировать выделенное
Ctrl-< Раскомментировать выделенное
Ctrl-F Поиск
F3 Повторить последний поиск
Ctrl-H Замена
Ctrl-{ Найти парную скобку
Ctrl-Alt-S Изенить настройки

Файлы

Ctrl-S Сохранить файл
Ctrl-Alt-Shift-B TortoiseSVN или TortoiseGit Branch
Ctrl-Alt-Shift-S TortoiseSVN copy или TortoiseGit Switch
Ctrl-Alt-Shift-C TortoiseSVN или TortoiseGit Commit
Ctrl-Alt-Shift-M TortoiseSVN или TortoiseGit Merge
Ctrl-Alt-Shift-U TortoiseSVN Update или TortoiseGit Pull
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Разработчику
Администратору
Инструменты