Цели и задачи
Реализовать устойчивый формат файлов проекта. Реорганизация структуры проекта. Упрощение настройки редактора, компилятора, отладчика.
Ограничения
Старый формат проектов не поддерживается.
Использование
Изменения доступны начиная с версий Атлантиса 5.3.26 и 5.4.12. На более старых версиях новый функционал доступен при использовании библиотеки VipIde.dll версии 5.4.0.0 и выше.
Реализация
Новый формат файлов проекта реализован на основе стандарта XML. Текст XML структурирован для возможности просмотра и редактирования файла в текстовом редакторе. Настройки реактора и среды сохраняются отдельно в общем файле настроек приложения, настройки компилятора и отладчика сохраняются отдельно в файле проекта.
Алгоритм чтения и сохранения обеспечивает устойчивость файлов проекта и файла настроек. Реализована функция полной совместимости версий файлов, т.е. новые версии Viper могут открывать проекты, созданные более ранними версиями, и наоборот - старые версии Viper могут открывать проекты, созданные более новыми версиями, при этом не актуальные параметры настроек для текущей версии не теряются.
Структура проекта
Структура проекта реорганизована таким образом, чтобы пользователю было максимально удобно использовать приложение не только как текстовый редактор, но и как среду разработки.
Структура проекта включает 3 раздела:
1. раздел порядок сборки;
2. раздел файлов проекта;
3. раздел открытых файлов.
Первый раздел "Порядок сборки" предназначен для хранения и управления элементами сборки. К данным элементам относятся:
- файлы VIP, которые компилируются встроенным компилятором;
- профили, предназначенные для вызова внешних компиляторов и запуска внешних приложений.
Второй раздел “Файлы проекта” служит для хранения и редактирования файлов, содержащих исходные коды, предназначенные для компиляции ресурсов встроенным компилятором, либо для сборки ресурсов внешними компиляторами.
Для файлов, включенных в перечисленные разделы, в проекте сохраняются такие параметры как: текущая кодировка, расстановка точек останова, положение меток, положение закладок и т.п.
Третий раздел “Открытые файлы” предназначен для хранения открытых файлов в текущем сеансе работы редактора. Данный раздел не обладает функциональностью первых двух разделов и не предназначен для длительного хранения файлов.
Окно проекта представлено на рисунке 1.
Настройка проекта
Для упрощения этапов настройки, перегруппированы разделы параметров компиляции, отладки и состава проекта. Разделы организованы таким образом, чтобы за наименьшее число шагов настроить компилятор и отладчик для дальнейшей работы.
На рисунке 2 представлено окно настройки проекта.
Реализован механизм наследования и подстановки параметров проекта для компилируемых единиц. Для получения уникальных значений настроек, зависящих от конкретной единицы сборки, предусмотрена возможность макропеременных. Использование макросов в параметрах позволяет сократить этап настройки до проекта и не тратить время на настройку каждой компилируемой единицы. Viper позволяет им: пронаследовать необходимые настройки проекта и получить уникальные на основе макропараметров.
Пример использование макропеременных представлен на рисунке 3.
Использование нового формата хранения и организации проекта существенно повысили гибкость использования, надежность и функциональность как создаваемых проектов, так и редактора Viper в целом.
Новый формат проектов Viper
Модератор: ZYG