Интеграция Viper с операционной системой

Информация о завершенных проектах развития

Модератор: ZYG

Ответить
Levsha
топ-софт
Сообщения: 44
Зарегистрирован: Вт, 08/07/2008 15:18
Имя Фамилия: Максим Левша
Откуда: ТопСофт
Контактная информация:

Интеграция Viper с операционной системой

Сообщение Levsha »

Цели и задачи:
Развить функционал интеграции Viper с операционной системой.
Реализовать поддержку одновременной работы нескольких экземпляров Viper.
Доработать взаимодействие приложения с файловой системой с возможностью назначения ассоциаций файлов.
Расширить, задаваемый Viper’у, механизм параметров из командной строки.
Решить проблемы ПИР, связанный с взаимодействием Viper с другими приложениями и операционной системой.

Использование
Изменения доступны начиная с версии VipIDE.dll 5.4.12, которая входит в состав Атлантиса 5.4.30.

Реализация:

1. Переключение режима запуска "Несколько экземпляров программы" - "Только один экземпляр программы"

В режиме загрузки нескольких экземпляров редактора Viper каждая копия является самостоятельным приложением, которому доступны все базовые функции редактора, включая компилятор и отладчик. Допускается одновременный запуск компиляции в нескольких экземплярах, но при этом компиляторами должны использоваться различные ресурсы, иначе компиляция будет остановлена. При использовании возможности запуска нескольких экземпляров следует учесть то, что при открытии файлов по клику из проводника они будут открываться в отдельных копиях Viper, а не в текущей запущенной.

Предусмотрен параметр, запрещающий одновременный запуск нескольких копий редактора - "Запускать только один экземпляр программы" (окно "Параметры", вкладка "Общие"). При этом файлы по клику из проводника будут открываться в текущем экземпляре программы Viper.


2. Параллельная компиляция

Функция компилятора теперь запускается в отдельном процессе. Это дает возможность продолжать работу с редактором во время выполнения компиляции. Данная возможность также защищает процесс редактора от необработанных исключений иногда возникающих в процессе компиляции. В подобных случаях завершится только процесс компилятора, в то время как процесс редактора будет работать устойчиво.

Примечание: Во время компиляции текст файла берется не с диска, а из редактора (если он открыт и поправлен) и при этом новые изменения не обязательно сохранять для включения их в компиляцию. Поэтому следует аккуратно редактировать исходный код во время компиляции, чтобы не допустить попадания в сборку недописанных фрагментов.

3. Интеграция с операционной системой

Переработан функционал интеграции с операционной системой:
- настройка ассоциаций;
- назначение иконок;
- настройка расширений для открытия во внешних приложениях.

Настройка параметров интеграции с ОС осуществляется в окне "Параметры", на вкладке "Общие / Ассоциации". Список расширений представлен в виде дерева. Сгруппирован по языкам. Список формируется на основании настроек синтаксических схем. Список расширений можно изменить, отредактировав для нужной синтаксической схемы параметр "Типы файлов". Для выбранных в списке расширений (или групп) можно установить ассоциацию на открытие файла из операционной и изменить иконку. Набор иконок фиксирован, входит в состав Vipide.dll. Под кнопкой "Связать" реализована функция связи с ОС и назначения иконок для типичного набора расширений из исходных кодов Галактики.

Параметр "Список защищенных файловых расширений, открываемых автоматически во внешних приложениях" служит для обозначения тех файлов, которые должны открываться во внешних приложениях (.SLK, .RTF)

Примечание: Viper ассоциируется с пунктом "Изменить" локального меню проводника Windows.

Окно настройки ассоциаций представлено во вложении.

4. Расширение параметров командной строки

Реализован список ключей доступных для использования из командной строки:
-Line - установка курсора нас строке в активном редакторе;
-Col - установка курсора в колонке в активном редакторе;
-Highl - подсветка строки курсора в активном редакторе;
-AddBuild - добавление файла в сборку;
-AddProject - добавление файла в проект;
-BuildAll - пересобрать проект;
-CompileAll - компилировать проект;
-ClearBuild - очистить порядок сборки;
-Build - пересобрать файл/профиль;
-Compile - компилировать файл/профиль;
-Exit - закрытие редактора по завершению компиляции;
-Script - выполнить скрипт;
Ключи можно использовать совместно в различных вариантах.

5. Доработано окно сообщений компилятора

Окно сообщений компилятора переработано в древовидный список. Узлами верхнего уровня являются сведения о процессе компиляции. Дочерними узлами являются сообщения компилятора. Более детальный уровень для сообщений - это содержимое стека подключаемых файлов. Последняя запись содержит информацию о времени компиляции.

Сообщение компилятора отображается в дереве непосредственно при генерации их в момент компиляции. Что дает возможность программисту оценить необходимость досрочной остановки компилятора не дожидаясь завершения всего процесса компиляции.

Предусмотрена возможность накопления информации в дереве сообщений без ее удаления перед каждым запуском компилятора. Для удобства представления информации в дереве предусмотрен фильтр, с помощью которого можно ограничить отображение сообщений на экране по типу. При закрытии редактора список сообщений компилятора сохраняется.
Вложения
Окно настройки ассоциаций.
Окно настройки ассоциаций.
Viper_Association.png (43.36 КБ) 3754 просмотра
Ответить