Данный проект больше не развивается. Он перерос в другой - HMSEditor_addon.
HMSEditor - это альтернативный редактор скриптов для программы "Домашний медиа-сервер" с IntelliSense и дополнительными возможностями, который был нечаянно создан.
Возможно, будет полезен начинающим разбираться в программе при написании скриптов или другим кодерам, которые хотят облегчить себе жизнь при их написании или отладке.
- IntelliSense - подсказки ключевых слов, функций, классов, методов...
- Альтернативная и более полная подсветка синтаксиса языков скрипта
- Подсказки для параметров функций
- Подсказки по функциям, переменным и константам при наведении курсора мыши
- Наиполная база на данный момент по описанию встроенных функций, свойств и методов
- Подсветка одинаковых слов
- Замена по Ctrl-H
- Подсказка значений переменных при наведении курсора мыши во время отладки скрипта
- Возможность вычисления выделенной области при наведении курсора мыши во время отладки
- Использование шаблонов кода (автоматическое обновление их с GitHub)
- Возможность использование цветовых тем оформления и подсветки синтаксиса. Поддержка внешних файлов тем от Sublime Text.
- И некоторые другие....
Для того, чтобы во время отладки при наведении курсора мыши показывалось значение переменной нужно вызвать окно "Вычислить выражение" и закрыть его или при первом наведении редактор сам попытается его вызвать нажав на кнопки и автоматически закрыв, но это не всегда может сработать.
Редактор может работать как автономном режиме (простой запуск редактора), так и в фоне (запуск с ключём -givemesomemagic), проявляя себя только при открытии окон редактирования скриптов в программе Домашний медиа-сервер и заменяя штатный редактор собой.
Для работы только в режиме замены штатного редактора необходимо, чтобы HMSEditor был загружен в память после запуска программы Домашний медиа-сервер.
Чтобы редактор автоматически запускался в фоне с программой Домашний медиа-сервер и автоматически выгружался при выходе из неё, нужно запускать HMSEditor.exe с ключём -givemesomemagic из самой программы в скрипте, который бы сработал при запуске программы.
Более подробная пошаговая инструкция:
- Скачиваем файл HMSEditor.exe;
- Копируем его в любое удобное место, откуда мы потом будем его запускать. Например, можно скопировать в каталог, где установлен Home Media Server (типа "C:\Program Files (x86)\Home Media Server");
- Скачиваем файл HMSEditor.cfg;
- В программе "Домашний медиа-сервер" нажать "Настройки", cлева выбрать категорию "Медиа-ресурсы", cправа выбрать "Обработка";
- Нажать "Загрузить" и выбрать этот файл. На вопрос об очистке текущего списка выберите "Нет";
После этого будет загружен скрипт запуска HMSEditor.exe. - Далее, в программе "Домашний медиа-сервер", в настройках выбрать категорию "События";
- В поле "После запуска программы" выбрать из выпадающего списка наш скрипт "Запуск HMSEditor".
Также, скрипт можно отредактировать, например для того, чтобы изменить место запуска HMSEditor.exe.
Для этого всего-лишь нужно изменить в скрипте строку:
filepath: String = '"'+ProgramPath+'\hmseditor.exe" -givemesomemagic';
где ProgramPath можно заменить на свой путь, откуда будет запускаться HMSEditor.exe. Например, эта строка может выглядеть так:
filepath: String = "D:\HMSEditor\hmseditor.exe -givemesomemagic";
После этого, при запуске программы "Домашний медиа-сервер", автоматически будет запущен альтернативный редактор в фоне, который никак себя не будет проявлять, кроме как появляться при открытии окон для редактирования скриптов. При закрытии программы, HMSEditor будет выгружен из памяти автоматически.
- F11 - отображение/скрытие дополнительной панели инструментов
- F12 - Goto Definition - переход к определению переменной/функции
- Esc - скрытие всех подсказок
- F2 - переименование переменной/функции (рефакторинг)
- F9 - запуск скрипта
- F8 - пошаговая отладка
- F5 - установка/снятие точки остановки (breakpoint)
- F3 - найти следующее совпадение
- Alt +1...9 - установка номерной закладки
- Ctrl+1...9 - переход к номерной закладке
- Ctrl+D - переключение на "родной" встроенный редактор (переключение назад - некоторое время ничего не делать)
- Alt+Влево - переход назад по истории переходов
- Alt+Вправо - переход вперёд по истории переходов
- Ctrl+Shift+C - закомментировать/раскомментировать выделенные строки
- Ctrl+F, Ctrl+H - показывает окно расширенного поиска и замены
- Ctrl+G - переход к к строке по номеру
- Ctrl+(C, V, X) - стандартные операции копировать/вставить/вырезать
- Ctrl+A - выбор всего текста
- Ctrl+Z, Alt+Backspace, Ctrl+R, Ctrl+Shift+Z - Отмена/Повтор действия
- Tab, Shift+Tab - увеличить/уменьшить отступ слева для выделенной области
- Ctrl+Home, Ctrl+End - переход в начало/конец текста
- Shift+Ctrl+Home, Shift+Ctrl+End - переход в начало/конец текста выделенной области
- Ctrl+Влево, Ctrl+Вправо - переход влево/вправо по словам
- Shift+Ctrl+Влево, Shift+Ctrl+Вправо - переход влево/вправо по словам с выделением области
- Ctrl+U, Shift+Ctrl+U - конвертирование выделенного текста в верхний/нижний регистр
- Ins - переключение режима вставки
- Ctrl+Backspace, Ctrl+Del - удаление слова слева/справа
- Alt+Mouse, Alt+Shift+(Ввехр, Вниз, Вправо, Влево) - включение режима выделения столбцов
- Alt+Вверх, Alt+Вниз - передвигание текущей строки целиком вверх/вниз
- Shift+Del - удаление текущей строки
- Ctrl+B, Ctrl+Shift-B, Ctrl+N, Ctrl+Shift+N - добавление, удаление и перемещение к закладкам
- Ctrl+Wheel - изменение масштаба
- Ctrl+M, Ctrl+E - включение/остановка записи макро (действий), запуск макро
- Alt+F [символ] - найти ближайший [символ]
- Ctrl+(Вверх, Вниз) - скроллирование вверх/вниз
- Ctrl+(NumpadPlus, NumpadMinus, 0) - увеличение масштаба, уменьшение масштаба, сброс масштаба в 100%
- Настройки хранятся отдельно для нескольких режимов: 1) автономного, 2) редактирование профиля транскодирования, 3) редактирование скрипта обработки, 4) редактирование любых других скриптов.
Это значит, что настроив редактор (включение опций подсказок, цветовой темы и проч.) в одном режиме, в другом режиме будут использоваться свои - совсем другие настройки и настраивать нужно их отдельно. - Настройки загружаются при открытии окна редактора, сохраняются - при закрытии окна.
- Файлы настроек, загруженных шаблонов и тем хранятся в общей папке программ (в Windows 7 это "C:\ProgramData\HMSEditor", в XP это "C:\Document and settings\All users\Application data\HMSEditor").
- Проверка наличия обновлений шаблонов и программы делается только при открытии окна "О программе", запускается в фоне и занимает некоторое время.
- Все проверки делаются с использованием API GitHub.
- После загрузки файла обновления редактора, проверяется наличие валидной цифровой подписи. Если не валидна - отказ от обновления.
- Т.к. GitHub работает только по протоколу https, то также проверяется наличие защищённого соединения (проверяется системой). Если сертификат использующийся для соединения не является доверенным - обновлений не будет. Идёт проверка на правильность соединения защищённого протокола. Это значит, если будет использоваться прокси с подставленным сертификатом или ваш провайдер тоже будет делать его подмену - соединения с GitHub не будет, а значит и обновлений.
- Из-за того, что настройки github.com безопасных протоколов соединения не поддерживают операционную систему Windowx XP - автоматически обновиться или скачать шаблоны под данной ОС не получиться. Только скачать вручную и обновить файл самостоятельно.
- "Умные" подсказки работают только с языком PascalScript и C++Script. Ибо в JScript все переменные изначально с типом Variant и их объявление не обязательно.
- По Ctrl-D происходит переключение на стандартный редактор. Т.к. события от встроенного редактора никак пока не получить, то обратное переключение происходит по тайм-ауту ("времени ничего неделания") через некоторое время.
- Анализ контекста не совершенен, делается на лету, через некоторое время после редактирования. Если синтаксис выбранного языка нарушен, то список видимых переменных и их типы для подсказок могут быть не адекватны.
Нажав правой клавишей мышки на поле редактора, можно в появившемся меню выбрать пункт "Вставить шаблон". Где для конкретного языка скрипта будут варианты шаблонов с участками кода, которые можно выбрав, вставить в текст.
Наборы шаблонов выложены тут, могут периодически обновляться и добавляться.
Загрузить шаблоны с github для редактора можно в окне "О программе" (пункт в меню панели инструментов).
Можно создавать свои собственные шаблоны. Достаточно сохранить файл с кодом шаблона в папку %ProgramData%\HMSEditor\Templates в соответствующую подпапку языка кода.
Существующие шаблоны сделаны как пример или костяк, который необходимо редактировать под свои конкретные нужды и не является примером как именно нужно делать. Теоретически, могут содержать даже ошибки или неверный подход. И никак не могут являться решением на все случаи жизни.
Предложения по добавлению шаблонов в общую коллекцию приветствуются.
Показан пример создания подкаста, практически в реальном времени с использованием HMSEditor и шаблонов кода.
http://www.youtube.com/watch?v=dCKhdEFSiVY
Кроме встроенных цветовых тем, также можно добавлять свои файлы тем. Поддерживаются пока только темы совместимые с Sublime Text 2 / 3. Которые скачать, например, можно отсюда.
Чтобы добавить темы в редактор, нужно поместить файлы в директорию %ProgramData%\HMSEditor\Themes.
Наведение указателя мыши на переменную mpFilePath во время отладки: