# Параметры

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

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

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

## XDS Модула-2

Параметры специфичные для поддержки языка Модула-2 размещены в диалоге Параметры на странице XDS Модула-2 и расположенных ниже страницах:

- Консоль
- Редактор
- Системы разработки

### Консоль

Параметры консоли размещены в диалоге Параметры на странице XDS Модула-2 > Консоль.

В верхней части диалога можно отметить два признака:

- Показывать консоль при запуске сборки – показывать ли консоль при сборке;
- Всегда очищать консоль перед сборкой – очищать ли консоль перед сборкой.

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

- Сообщение об ошибке – цвет сообщения об ошибке;
- Предупреждение – цвет предупреждающего сообщения;
- Уведомление об ошибке – цвет уведомления об ошибке;
- Информационное сообщение – цвет информационного сообщения;
- Стандартный поток вывода – цвет выходных данных;
- Стандартный поток ввода – цвет входных данных;
- Цвет фона – цвет фона.

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

### Редактор

Параметры редактора Модула-2 программ размещены в диалоге Параметры на странице XDS Модула-2 > Редактор и расположенных ниже страницах:

- Раскраска синтаксиса
- Шаблоны

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

- для совпадающих скобок – пункт Цвет подсветки парных скобок;
- для несовпадающих скобок – пункт Цвет подсветки непарных скобок.

Признак Подсвечивать структуру оператора позволяет включать подсветку лексем, входящих в один оператор. Цвет подсветки указывается в Цвет подсветки структуры оператора.

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

Для изменения размера шрифта, используемого в текстовых редакторах, необходимо перейти на страницу Общие > Внешний вид > Цвета и шрифты, выбрать Простой > Шрифт текста и нажать кнопку Редактировать.

#### Ориентиры отступов

В разделе XDS Модула-2 > Редактор > Ориентиры отступов настраивается отображение ориентиров отступа.

Ориентиры отступа имеют вид вертикальных линий показывающих структуру программного кода, как на рисунке:

Показ ориентиров отступа может быть отключен признаком Показывать вертикальные ориентиры отступов.

Можно настроить следующие параметры их показа:

- Непрозначность – значение от 0 до 255 характеризующее степень прозрачностьи линии, где 0 - линия прозрачна, 255 - непрозрачна;
- Стиль – выбор стиля отображения линии;
- Ширина – ширина линии, от 1 до 8 точек;
- Смещение – смещение линии по горизонтали, от 1 до 8 точек;
- Цвет – цвет линии;

#### Раскраска синтаксиса

В разделе XDS Модула-2 > Редактор > Раскраска синтаксиса можно настроить цвета и эффекты, используемые для синтаксической раскраски Модула-2 кода.

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

- Цвет – цвет элемента;
- Полужирный – выделение элемента жирным, если отмечено;
- Курсив – выделение элемента курсивом, если отмечено;
- Перечеркнутый – перечеркнутый текст, если отмечено;
- Подчеркнутый – подчеркнутый текст, если отмечено.

В окне Предварительный просмотр можно увидеть пример раскраски кода, соответственно заданным выше параметрам.

#### Шаблоны

В разделе XDS Модула-2 > Редактор > Шаблоны можно настроить шаблоны синтаксических конструкций, из которых состоит Модула-2 код.

Добавить новую синтаксическую конструкцию можно, нажав кнопку Создать... в правой части диалога.

В открывшемся окне нужно заполнить следующие свойства:

- Имя – имя конструкции;
- Контекст – контекст, в котором данная конструкция используется, выбирается из предлагаемого списка;
- Автоматическая вставка – признак, вставлять ли конструкцию автоматически при редактировании Модула-2 кода;
- Описание – описание конструкции;
- Шаблон – структура конструкции.

При заполнении последнего поля можно использовать переменные, список которых открывается по кнопке Вставить переменную....

Синтаксическая конструкция добавляется в список нажатием кнопки OK.

Можно отредактировать свойства существующей синтаксической конструкции, выделив её в списке и нажав кнопку Редактировать, а также удалить конструкцию, нажав кнопку Удалить. Ошибочно удаленную синтаксическую конструкцию можно восстановить, нажав на кнопку Восстановаить удаленные. Кнопка Вернуть значения по умолчанию сбрасывает значения свойств текущей конструкции в значения, принятые по умолчанию.

Также синтаксическая конструкция может быть добавлена в список путем импорта из файла `*.xml`. Это делается нажатием кнопки Импортировать... справа от списка и последующим выбором файла. Экспортировать синтаксическую конструкцию в файл `*.xml` можно, выделив её в списке и нажав кнопку Экспортировать... справа от списка.

Если перед названием синтаксической конструкции снята отметка, то конструкция сохраняется в системе, но не используется.

В нижней части диалога можно отменить признак Использовать средство форматирования кода, означающий использование форматирования кода.

Рассмотрим подробнее, как можно изменить шаблон кода на примере шаблона IF-ELSE. Для начала редактирования, выберите шаблон IF-ELSE и нажмите Редактировать.

Откроется окно редактора шаблона:

Шаблон автодополнения представляет собой текст со специальными переменными автодополнения. Оболочка заменяет их в момент вставки шаблона, либо такая переменная специальным образом модифицирует поведение редактора кода (что будет продемонстрировано на примере ниже).

Существует ряд встроенных переменных автодополнения (их список можно увидеть нажав кнопку Вставить переменную...): `${cursor}, ${date}, $$, ${line_selection}, ${time}, ${user}, ${word_selection}, ${year}` .

Любая переменная автодополнения с именем не соответствующим встроенной, является локацией редактирования (подробнее - ниже). При вставке шаблона можно перемещаться между локациями редактирования клавишами `Tab` или `Shift + Tab`.

Рассмотрим переменную ${cursor}.

Отредактируйте шаблон IF-ELSE следующим образом:

    IF ${condition} THEN
      ${line_selection}
    ELSE
      ${cursor};
    END;

Нажмите OK, Применить и закройте панель редактирования шаблонов.

Перейдите в редатор исходного кода для какого-нибудь mod-файла, перейдите в тело процедуры, начните набирать `if` и нажмите `Ctrl + Пробел`.

Появится следующее окно:

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

Попробуйте также понажимать клавишу `Tab` - курсор будет прыгать между локациями редактирования, в данном примере это строки 17 и 20. Строка 20 как раз соответсвует локации редактирования переменной ${cursor}.

Уберите вставленный текст.

Теперь наберитите `i := 0;` и выделите этот текст:

Нажмите `Ctrl + Пробел` и в появившемся списке вариантов автодополнений выберите `IF-ELSE`.

Будет вставлен следующий текст:

Таким образом, в качестве значения переменной ${line_selection} было взято текущее выделение редактора.

Отредактируйте поле condition и нажмите `Enter`. Курсор перейдет в локацию редактирования, соответствующую переменной ${cursor}. Эта переменная как раз указывает позицию, куда должен быть помещен курсор после завершения сессии автодополнения.

Отредактируйте теперь шаблон IF-ELSE следующим образом:

    IF ${condition} THEN (* ${комментарий_для_THEN} *)
      ${line_selection}
    ELSE  (* ${комментарий_для_ELSE} *)
      ${cursor};
    END; (* ${комментарий_для_END} *)

Перейдите в редактор исходного кода, и вызовите шаблон `IF-ELSE`:

Ввиду того, что переменные ${комментарий_для_THEN}, ${комментарий_для_ELSE} и ${комментарий_для_END} не являются встроенными, они задают только локации редактирования. Во время сессии автодополнения, по ним можно перемещаться с помощью клавиш `Tab` и `Shift + Tab`.

Описание встроенных переменных шаблонов автодополнения:

- `${cursor}` – в локацию этой переменной будет помещен курсор после завершения сессии автодополнения;
- `${date}` – текущая дата;
- `$$` – символ доллара;
- `${line_selection}` – заменяется на текущее выделение в редакторе;
- `${time}` – текущее время;
- `${user}` – имя пользователя;
- `${year}` – текущий год.

### Системы разработки

В разделе XDS Модула-2 > Системы разработки можно зарегистрировать новые и настроить уже зарегистрированные КСП.

Подробнее о настройке КСП можно прочесть в разделе Управление параметрами КСП.

### Стиль кода

В данный момент раздел XDS Модула-2 > Стиль кода содержит только настройку форматирования.

### Форматирование

В разделе XDS Модула-2 > Стиль кода > Форматирование можно изменять настройки автоматического форматирования текста.

Все настройки форматирования сохраняются в профиле. Изначально тут установлен встроенный профиль - его настройки можно смотреть, но нельзя изменить. Вверху диалога Форматирование расположен список, в котором можно активизировать профиль из числа имеющихся, а так же кнопки:

- Изменить – редактирвоание профиля. Тут откроется Диалог редактирования профиля форматирования.
- Удалить – удаление профиля.
- Новый... – создание нового профиля. Тут откроется диалог, в котором будет запрошено имя создаваемого профиля, а так же можно будет указать из какого профиля взять для него начальные настройки.
- Импортировать... – импортирование профилей из файла. Будет запрошен .xml файл и все найденные в нем профили будут импортированы. Если в файле найдутся профили, имена которых совпадают с уже имеющимися, то после импорта они будут переопределены на те, что импортировались из файла.
- Экспортировать все... – экспорт всех имеющихся профилей в .xml файл.

Так же, внизу диалога находится окно Предпросмотр, в котором можно видеть как выглядит результат применения выбранного профиля к фрагменту программного текста.

#### Диалог редактирования профиля форматирования

Вверху диалога показывается имя редактируемого профиля, рядом с которым находится кнопка Экспорт... - с ее помощью данный профиль можно экспортировать в .xml файл.

Ниже - закладки, соответствующие страницам с различными группами настроек формаритования:

- Отступы – Настройки форматирования отступов
- Пробелы – Настройки форматирования пробелов
- Перевды строк – Настройки форматирования переводов строк
- Перенос строк – Настройки форматирования переноса строк

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

##### Настройки форматирования отступов

Здесь Общие настройки задают способ, которым будут форматироваться отступы в строках.

- Режим табуляции - в этом списке выбирается режим использования символов табуляци. При форматировании отступа, если выбрано использование символов табуляции, они будут вставлены в максимально возможном до достишения размера отступа количестве, после них, если нужно, вставятся еще и пробелы. Смешанный режим означает, что новые отступы будут формироваться таким же образом, однако если отступ включает в себя отступ уже имеющийся в документе, то тут, по возможности, будет сохранена именно та последовательность пробелов и табуляций, которая там изначально была. Это позволяет максимально сохранить стиль форматирования, который был в документе (но зачастую может порождать "разъезжание" строк при изменении размера табуляции, если только часть этих строк унаследовала старый стиль форматирования).
- Размер отступа - задает размер отступа в знакоместах.
- Размер табуляции - ширина табуляции. Не следует путать размер отступа и ширину табуляции: на экране будет виден отступ выглядящий так же, как указанное в его ширине число пробелов. Внутри же него может быть вставлено сколько-то символов табуляции и пробелов. Например, при ширине отступа 5 и размере табуляции 2, если табуляция используется, отступ будет формироваться из двух символов табуляции и одного пробела, следующего за ними.

В разделе Отступ перечислены признаки того, в каких случаях следует формировать отступ и для некоторых признаков явно указывается размер отступа – для них равен не значению Размер отступа, а указанному тут. Доступны следующие признаки:

- Объявления внутри модуля
- Объявления внутри процедуры
- Объявления внутри блока VAR/TYPE/CONST
- Объявления локальных процедур
- Объявления локальных модулей
- Объявления полей записей
- Операторы внутри тел операторов/процедур/модулей
- Операторы внутри CASE
- Операторы внутри альтернатив CASE

##### Настройки форматирования пробелов

Здесь, в дереве выбора Вставлять пробел, можно выбирать различные синтаксические элементы языка. Когда элемент выбран, для него, под деревом, показываются признаки того, следует ли вставлять пробел перед ним или после него.

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

##### Настройки форматирования переводов строк

Здесь, в дереве выбора Вставка переводов строк, можно выбирать различные синтаксические элементы языка. Когда элемент выбран, для него, под деревом, показываются признаки того, следует ли вставлять перевод строки перед ним или после него.

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

##### Настройки форматирования переноса строк

Под переносом строк понимается "сворачивание" слишком длинных строк путем вставки в них перевода строки и, если нужно, отступа перед текстом, перенесенным на новую строку.

Тут можно задать значение Максимальный размер строки – это позиция в строке, до которой форматтер постарается строки укоротить. Сделать это, не испортив синтаксиса прораммы, не всегда возможно, поэтому иногда строки могут остаться не свернутыми при достижении указанной границы.

Тут же, под окном предварительного просмотра, справа внизу, отдельно задается значение Размер строки в окне предварительного просмотра – это ширина, до которой текст будет свернут

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

## Общие

Общие установки среды Eclipse. XDS Modula-2 использует часть из них и, кроме того, добавляет в этот раздел некоторые свои настройки.

### Орфография

Параметры настройки проверки орфографии размещены в диалоге Параметры на странице Общие > Редакторы > Текстовые редакторы > Орфография.

Вверху диалога расположен признак Включить проверку орфографии - он позволяет включать или полностью отключать проверку.

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

Далее перечислены признаки, задающие параметры проверки:

- Игнорировать слова с цифрами
- Игнорировать слова в смешанном регистре
- Игнорировать прописные буквы в начале предложений
- Игнорировать слова из прописных букв
- Игнорировать URL-ы
- Игнорировать не буквенные символы на границах слов
- Игнорировать единичные буквы
- Игнорировать строки Modula-2

В разделе Словари можно выбрать словарь из имеющихся в данный момент в среде Eclipse, или указать файл со словарем пользователя – в этом случае ожидается файл, на каждой строке которого стоит по одному слову. Кроме того, файл должен быть доступен не только на чтение, но и на запись. Указывая этот файл, тут же следует выбрать и соответствующую ему кодировку.

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