Составные памятки обеспечивают руководство по разрешению сложных неполадок путем разбиения неполадки на ряд более мелких задач. Составные памятки регистрируется с помощью точки расширения org.eclipse.ui.cheatsheets.cheatSheetContent.
Само содержимое составной памятки задается в отдельном файле, который соответствует спецификации файла содержимого составной памятки. Файл содержимого является XML-файлом и состоит из набора задач, организованных в группы в структуре дерева.
<compositeCheatsheet> является корневым элементом составной памятки. Он будет содержать одну корневую задачу, которая может являться <task> или <taskGroup>. Элементы <taskGroup> могут иметь один или несколько дочерних элементов, каждый из которых может являться <task> или <taskGroup>. Элемент <task> не имеет дочерних задач.
Задачи и группы задач могут содержать элементы <intro>, содержащие текст, который следует отобразить перед запуском задачи, и элементы <onCompletion>, содержащие текст, отображаемый после выполнения задачи. Как <intro>, так и элементы <onCompletion> могут содержать текст на языке описания формы. В приведенном ниже примере теги <b> и </b> применяются для выделения текста полужирным шрифтом.
Задачи могут также содержать элементы <param>. Задача памятки может иметь следующие параметры: "id" - ИД зарегистрированной памятки, "path" - относительный путь или URL файла содержимого памятки и "skipIntro" - булевский параметр (если для него задано значение true, то памятка запускается на первом шаге после введения). Следует указать либо параметр "id", либо параметр "path" (но не оба).
Узел <зависимости> от задачи "B" к задаче "A" представляет требование, при котором задача A должна быть выполнена до запуска задачи B.
Если задача имеет тип = "cheatsheet", памятка будет открыта при запуске этой задачи. Возможны три параметра задачи памятки.
| Имя параметра | Описание |
| id | ИД памятки, которая была зарегистрирована с помощью точки расширения org.eclipse.ui.cheatsheets.cheatSheetContent. Указывает на памятку, которая будет связана с данной задачей. Следует указать либо параметр id, либо параметр path (но не оба). |
| path | URL файла содержимого памятки. Это может быть либо абсолютный, либо относительный URL файла содержимого составной памятки. Если заданы оба параметра - id и path - то для указания на расположение файла содержимого будет использован параметр path, а параметр id будет игнорироваться. |
| showIntro | Булевский параметр, значение по умолчанию которого равно true. Если задано значение "false", то при запуске памятки будет показан первый шаг, а не введение. |
Приведенный ниже файл является примером создания составной памятки из существующих памяток. Он также иллюстрирует способ создания групп задач и настройки функции пропуска задач.
<?xml version="1.0" encoding="UTF-8"?>
<compositeCheatsheet name="Пример составной памятки">
<taskGroup name= "Пример составной памятки">
<intro> Пример <b>составной памятки</b>, созданной на основе существующих памяток.
<br/><br/>Нужную задачу можно выбрать в дереве задач или перейти к ней с помощью ссылок.
</intro>
<onCompletion>Все задачи завершены успешно.</onCompletion>
<task kind="cheatsheet" name= "Создание ветвей и слияние с помощью CVS" skip="true">
<param name = "id" value = "org.eclipse.platform.cvs_1" />
<intro>Эта памятка предназначена для пользователей CVS. Если в системе не установлена система CVS или
если не требуется создать ветви и осуществить слияние, пропустите этот этап.
</intro>
<onCompletion>Знакомство со способами создания ветвей и слияния завершено. </onCompletion>
</task>
<taskGroup name= "Создание проектов Java" kind = "sequence">
<intro> Сначала приведены инструкции по созданию простого проекта Java, затем - по созданию проекта Java с SWT.
<br/><br/>В этой группе задачи нужно выполнять в заданной последовательности. Например,
подзадачу "Автономное приложение SWT" можно выполнить только после завершения задачи "Создание проекта Java".
</intro>
<onCompletion>Создание обоих приложений Java завершено успешно. </onCompletion>
<task kind="cheatsheet" name= "Создание проекта на java" id = "createJavaProject">
<param name="id" value = "org.eclipse.jdt.helloworld"/>
<param name="showIntro" value = "false"/>
<intro>Эта памятка руководит процессом создания простого приложения Hello World.
Памятка может запускать мастеры для создания проекта и класса.
</intro>
<onCompletion>Вы успешно создали приложение приветствия</onCompletion>
</task>
<task kind="cheatsheet" name= "Автономное приложение SWT">
<intro>Модули Eclipse, входящие в пользовательский интерфейс, работают с инструментарием стандартных виджетов (SWT).
Это руководство поможет получить более подробные сведения о SWT.
</intro>
<param name = "id" value = "org.eclipse.jdt.helloworld.swt" />
<onCompletion>Вы успешно создали приложение SWT. </onCompletion>
</task>
</taskGroup>
</taskGroup>
</compositeCheatsheet>
Существует возможность расширения составных памяток, однако в Eclipse 3.2 эта расширяемость является временной, и классы могут измениться до того, как станут API. Поддержку составных памяток можно расширить с помощью точки расширения org.eclipse.ui.cheatsheets.cheatSheetContent, которая имеет два новых элемента - taskEditor и taskExplorer, обеспечивающих сотрудничество редакторов задач и анализаторов задач.
Участие редактора задач определяет новый тип задачи, отображаемый в разделе сведений о задаче. Для включения редактора задач реализуйте настроенный подкласс редактора TaskEditor, затем добавьте элемент taskEditor в plugin.xml.
Представление анализатора задач также можно настроить с помощью точки расширения. Анализатор структуры включен в платформу Eclipse. По умолчанию, анализатор составной памятки при первом открытии является деревом. Атрибут элемента <compositeCheatSheet> позволяет переопределить это значение по умолчанию. Если зарегистрировано несколько анализаторов, то в меню представления будет входить элемент, позволяющий выбрать анализатор. Для включения анализатора задач реализуйте настроенный подкласс анализатора TaskExplorer, затем добавьте элемент taskExplorer в plugin.xml.
Работа с памятками
Работа с составными памятками
Создание памяток
Рекомендации по созданию компонентов
Спецификация файла содержимого составной памятки
Точка расширения
org.eclipse.ui.cheatsheets.cheatSheetContent