Kombinierte Spickzettel bieten eine Führung durch komplexere Aufgaben, da die Aufgabenstellung in eine Reihe kleinerer Tasks untergliedert wird. Kombinierte Spickzettel werden unter Verwendung des Erweiterungspunkts org.eclipse.ui.cheatsheets.cheatSheetContent registriert.
Der eigentliche Inhalt eines kombinierten Spickzettels wird in einer separaten Datei definiert, die der Spezifikation für Inhaltsdateien von Spickzetteln entspricht. Die Inhaltsdatei ist eine XML-Datei und besteht aus einer Reihe von Tasks, die in einer Baumstruktur in Gruppen zusammengefasst sind.
Das Stammelement eines kombinierten Spickzettels ist das Element <compositeCheatsheet>. Dieses Element enthält eine einzige Stammtask des Typs <task> oder <taskGroup>. Elemente des Typs <taskGroup> haben eines oder mehrere untergeordnete Elemente, die jeweils den Typ <task> oder <taskGroup> haben können. Ein Element des Typs <task> enthält keine untergeordneten Tasks.
Tasks und Taskgruppen können Elemente <intro> enthalten. Diese Elemente enthalten den Text, der vor dem Starten der Task angezeigt wird, sowie Elemente <onCompletion>, in denen der Text enthalten ist, der nach dem Abschluss der Task angezeigt werden soll. Elemente <intro> und <onCompletion> können Markup-Formatierungen für Text enthalten. Im folgenden Beispiel werden die Tags <b> und </b> verwendet, um den Text fett zu formatieren.
Tasks können außerdem Elemente <param> enthalten. Eine Spickzetteltask kann einen beliebigen der folgenden Parameter haben: Der Parameter "id" ist die ID eines registrierten Spickzettels, der Parameter "path" ist der relative Pfad oder die URL der Inhaltsdatei für den Spickzettel, und der Parameter "skipIntro" ist ein Boolescher Parameter (hat er den Wert "true", beginnt der Spickzettel nicht mit der Einleitung, sondern mit dem ersten Schritt). Es muss entweder der Parameter "id" oder der Parameter "path" angegeben werden. Die Angabe beider Parameter ist nicht zulässig.
Ein Knoten <dependency> von der Task B zur Task A stellt die Voraussetzung dar, dass die Task A abgeschlossen sein muss, damit die Task B gestartet werden kann.
Hat eine Task den Typ "cheatsheet", wird beim Starten der Task ein Spickzettel geöffnet. Für eine Spickzetteltask gibt es drei mögliche Parameter:
Parametername | Beschreibung |
id | Die ID eines Spickzettels, der unter Verwendung des Erweiterungspunkts "org.eclipse.ui.cheatsheets.cheatSheetContent" registriert wurde. Dieser Parameter gibt den Spickzettel an, dem diese Task zugeordnet ist. Es muss entweder der Parameter "id" oder der Parameter "path" angegeben werden. Die Angabe beider Parameter ist nicht zulässig. |
path | Die URL einer Inhaltsdatei für den Spickzettel. Hierbei kann es sich um eine absolute URL oder um eine relative URL in Bezug auf die Inhaltsdatei für den kombinierten Spickzettel handeln. Falls beide Parameter "id" und "path" angegeben werden, wird der Pfad zur Lokalisierung der Inhaltsdatei verwendet, und der Parameter "id" wird ignoriert. |
showIntro | Ein Boolescher Parameter mit dem Standardwert "true". Hat dieser Parameter den Wert "false", wird beim Starten des Parameters zuerst anstelle der Einführung der erste Schritt angezeigt. |
Die folgende Datei ist ein Beispiel für die Erstellung eines kombinierten Spickzettels aus vorhandenen Spickzetteln. Es veranschaulicht, wie Taskgruppen erstellt und Tasks als überspringbar definiert werden.
<?xml version="1.0" encoding="UTF-8"?> <compositeCheatsheet name="Composite cheat sheet example"> <taskGroup name= "Composite cheat sheet example"> <intro> This is an example of a <b>composite cheat sheet</b> built from existing cheat sheets. <br/><br/>You can select a task to work on either by following the hyperlinks or by selecting a task in the tree. </intro> <onCompletion>Congratulations you have completed all the tasks.</onCompletion> <task kind="cheatsheet" name= "Branching and merging using CVS" skip="true"> <param name = "id" value = "org.eclipse.platform.cvs_1" /> <intro>This cheat sheet is intended for CVS users. If you are not using CVS or do not intend to branch and merge you may skip this task. </intro> <onCompletion>Congratulations you now know how to branch and merge.</onCompletion> </task> <taskGroup name= "Create Java Projects" kind = "sequence"> <intro> First you will learn how to create a simple java project, then you will create an java project which uses SWT. <br/><br/>This task group is a sequence which means that if you click on the subtask "Standalone SWT Application" it will not let that task be started until "Create a java project" has been completed. </intro> <onCompletion>Congratulations you have built both Java applications.</onCompletion> <task kind="cheatsheet" name= "Create a java project" id = "createJavaProject"> <param name="id" value = "org.eclipse.jdt.helloworld"/> <param name="showIntro" value = "false"/> <intro>This cheat sheet walks through the process of creating a simple hello world application. The cheat sheet can launch wizards to create a new project and a new class. </intro> <onCompletion>Congratulations you have succeeded in creating a hello world application</onCompletion> </task> <task kind="cheatsheet" name= "Standalone SWT Application"> <intro>Eclipse plugins which contribute to the user interface use The Standard Widget Toolkit (SWT). This task guide can be used to learn more about SWT. </intro> <param name = "id" value = "org.eclipse.jdt.helloworld.swt" /> <onCompletion>Congratulations you have succeeded in creating an SWT application.</onCompletion> </task> </taskGroup> </taskGroup> </compositeCheatsheet>
Kombinierte Spickzettel können erweitert werden. In Eclipse 3.2 ist diese Erweiterbarkeit jedoch vorläufig. Die Klassen können sich daher ändern, bevor sie zu einer API werden. Die Unterstützung für kombinierte Spickzettel kann unter Verwendung des Erweiterungspunkts "org.eclipse.ui.cheatsheets.cheatSheetContent" erweitert werden. Dieser Erweiterungspunkt hat die beiden neuen Elemente "taskEditor" und "taskExplorer", mit deren Hilfe Taskeditoren und Task-Explorer ergänzt werden können.
Bei der Ergänzung eines Taskeditors wird ein neuer Tasktyp definiert, der im Abschnitt mit den Taskdetails angezeigt wird. Um einen Taskeditor zu ergänzen, müssen Sie eine konkrete Unterklasse von "TaskEditor" implementieren und anschließend ein Element "taskEditor" zur Datei "plugin.xml" hinzufügen.
Die Darstellung des Task-Explorers kann mit einem Erweiterungspunkt ebenfalls konfiguriert werden. In der Eclipse-Plattform enthalten ist ein Explorer in Form einer Baumstruktur. Beim ersten Öffnen ist der Explorer für einen kombinierten Spickzettel standardmäßig eine Baumstruktur. Diese Standardeinstellung kann mit einem Attribut des Elements <compositeCheatSheet> überschrieben werden. Falls mehrere Explorer registriert sind, enthält das Menü der Sicht eine Menüoption, mit der Sie zwischen den Explorern wechseln können. Um einen Task-Explorer zu ergänzen, müssen Sie zunächst eine konkrete Unterklasse von "TaskExplorer" implementieren und anschließend ein Element "TaskExplorer" zur Datei "plugin.xml" hinzufügen.
Mit Spickzetteln arbeiten
Mit kombinierten Spickzetteln arbeiten
Spickzettel erstellen
Richtlinien für das Verfassen von Spickzetteln
Spezifikation der Inhaltsdatei für kombinierte Spickzettel
Erweiterungspunkt
"org.eclipse.ui.cheatsheets.cheatSheetContent"