# Основные концепции

Интегрированная среда разработки Модула-2 программ (XDS Modula-2 IDE) разработана на базе Eclipse. Eclipse представляет собой открытую платформу для построения интегрированных сред разработки, обобщающую такие возможности взаимодействий, как управление ресурсами, запуск программ и процессы отладки.

В этой главе описывается ряд основных концепций платформы Eclipse, используемых в интегрированной среде разработки Модула-2 программ.

## Рабочая область

Рабочая область (Worspace) – это прежде всего контейнер для проектов. Кроме этого, в ней содержатся настройки, сохраняемые компонентами интегрированной среды, и вспомогательные данные. Физически рабочая область представляет собой директорию, поддиректории которой соответствуют проектам, а директория `.metadata` используется как хранилище настроек и данных, общих для проектов данной рабочей области.

Рабочих областей может быть произвольное количество. Однако в одно время в интегрированной среде может быть открыта только одна рабочая область. Несколько экземпляров интегрированной среды могут одновременно работать с одной и тоже рабочей областью. Поэтому проекты, над которыми вы хотите работать одновременно из разных экземпляров интегрированной среды, необходимо помещать в разные рабочие области.

При первом запуске рабочая область (Workspace) автоматически создается в персональной папке пользователя. Создавать дополнительные рабочие области и переключаться между ними можно выбрав в главном меню: Файл > Сменить рабочую область... > Прочие... и указав путь до каталога рабочей области. Если указанный каталог не содержит рабочей области, то там будет создана новая рабочая область.

При старте интегрированной среды, по умолчанию открывается рабочая область, которая была открыта последней. Можно включить режим, при котором рабочая область будет явно запрашиваться при каждом запуске интегрированной среды. Для этого откройте диалог Параметры, выбрав в главном меню Окно > Параметры..., в левой панели диалога выберите Общие > Startup and Shutdown > Workspaces и включите опцию Предлагать выбрать рабочую область при запуске.

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

При запуске интегрированной среды можно явно указать какую рабочую область необходимо открыть при помощи следующего параметра командной строки:

`-data WorkspacePath`

где в качестве обязательного аргумента `WorkspacePath` необходимо указать путь до рабочей области.

Следующий параметр командной строки включает отображение пути до рабочей области в заголовке главного окна интегрированной среды:

`-showlocation [WorkspaceName]`

где необязательный аргумент `WorkspaceName` задает значение, которое будет отображаться в заголовке главного окна вместо пути до рабочей области.

## Проект

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

В директории являющейся проектом интегрированной среды создается специальный файл с именем `.project`. Расположенная в той же директории папка `.settings` используется как хранилище свойств проекта. Как правило, имена остальных вспомогательных файлов и папок интегрированной среды так же начинаются с символа "`.`".

Взаимно однозначного соответствия между проектными файлами КСП (prj-файлами) и проектами интегрированной среды нет. Проектные файлы КСП являются частным видом ресурса проектов интегрированной среды. Проект интегрированной среды может содержать несколько prj-файлов.

Размещать проекты внутри рабочей области не обязательно. Более того, при размещении проекта внутри рабочей области необходимо чтобы название проекта совпадало с названием папки, в которой размещен проект.

Проекты интегрированной среды рекомендуется размещать в тех же папках, что и Модула-2 программы. В частности, это позволит легко переносить проект из одного рабочего пространства в другое.

Для того чтобы добавить существующий проект в рабочую область необходимо воспользоваться механизмом импорта, выбрав в главном меню Файл > Импортировать... > Общие > Проект в рабочую область.

По умолчанию предполагается, что все ресурсы проекта хранятся внутри папки, содержащей проект. Для использования ресурсов находящихся вне папки проекта, их необходимо добавлять, через специальный механизм Связанных Ресурсов (Linked Resources).

Если файлы и папки добавлены или удалены из директории проекта не через интегрированную среду, то для того чтобы такие изменения были доступны в интегрированной среде необходимо выполнить обновление проекта. Для этого перейдите в панель Структура проекта, выберите нужный проект и в его контекстном меню выберите пункт Обновить или нажмите `F5`.

Каким образом интегрированная среда будет интерпретировать и обрабатывать проект зависит от свойств проекта. Наиболее важными свойствами являются: типы проектов (project natures) и построители (builders).

Тип проекта (Project Nature) определяет множество построителей, которые могут работать с ресурсами проекта. С одним проектом может работать несколько построителей.

Построители (Builders) отвечают за обработку ресурсов проекта, например, запуск компилятора. Как правило, каждый построитель предназначен для определённого типа файлов.

Посмотреть и изменить список построителей проекта можно выбрав в контекстном меню проекта Свойства > Компоновщики.

## Ресурсы

Ресурсы (Resources) – это общий термин для проектов, папок и файлов которыми оперирует интегрированная среда. Файлы и папки интегрированной среды соответствуют обычным файлам и директориям файловой системы. Папки могут содержать файлы и другие папки, но не проекты. Сами папки содержаться в проектах или других папках.

Файлы и папки могут быть связанны с файлами и папками вне директории проекта. Такие файлы и папки называются связанными ресурсами.

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

Смотри также

Свойства ресурсов
Создание новых элементов
Проект

## Подключаемый модуль

Ключевой особенностью платформы Eclipse является ее гибкость и расширяемость, которая достигается за счет модульной организации платформы. За исключением маленького ядра времени исполнения, все компоненты самой платформы и построенной на ее базе интегрированной среды являются Подключаемыми Модулями (Plug-ins), которые загружаются динамически и независимо друг от друга. Разумеется, предусмотрена возможность для каждого подключаемого модуля указать, какие модули должны быть загружены до него. Функции ядра платформы фактически сводятся к обнаружению подключаемых модулей и интеграции их в платформу и другие модули. В этом отношении стандартные и вновь создаваемые функциональные возможности платформы равноправны.