# Cheat Sheet Content

###### Identifier:

org.eclipse.ui.cheatsheets.cheatSheetContent

###### Since:

3.0

###### Description:

This extension point is used to register cheat sheet content contributions. Cheat sheets appear as choices from the "Help" menu or from within the cheat sheet view, and are typically used to aid a user through a series of complex tasks to accomplish an overall goal.

The cheat sheets are organized into categories which usually reflect a particular problem domain. For instance, a Java oriented plug-in may define a category called "Java" which is appropriate for cheat sheets that would aid a user with any of the Java tools. The categories defined by one plug-in can be referenced by other plug-ins using the category attribute of a cheatsheet element. Uncategorized cheat sheets, as well as cheat sheets with invalid category paths, will end up in an "Other" category.

Cheat sheets may optionally specify a description subelement whose body should contain short text about the cheat sheet.

###### Configuration Markup:

<!ELEMENT extension (category | cheatsheet | taskEditor | taskExplorer)+>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT category EMPTY>

<!ATTLIST category

id CDATA #REQUIRED

name CDATA #REQUIRED

parentCategory CDATA #IMPLIED>

A category element in the cheatsheetContent extension point creates a new category in the cheat sheet menu. The cheat sheet menu is available from the help menu in the workbench. If a new category is specified, cheat sheets may be targeted to that category and will appear under it in the cheat sheet selection dialog.

- id - a unique name that can be used to identify this category
- name - a translatable name of the category that will be used in the dialog box
- parentCategory - a path to another category if this category should be added as a child

<!ELEMENT cheatsheet (description?)>

<!ATTLIST cheatsheet

id CDATA #REQUIRED

name CDATA #REQUIRED

category IDREF #IMPLIED

contentFile CDATA #IMPLIED

listener CDATA #IMPLIED

composite (true | false) "false">

A cheatsheet element is put into the cheatsheetContent extension point if there is a cheat sheet to be contributed to the workbench. A cheat sheet element must specify an id, a translatable name to appear in the selection options, a category id to specify which category this cheat sheet will be included in, and a content file. The cheat sheet content file is an XML file that describes the steps and actions that the cheat sheet has.

- id - a unique name that can be used to identify this cheat sheet
- name - a translatable name of the cheat sheet that will be used in the help menu and the selection dialog box
- category - a slash-delimited path ('/') of category IDs. Each token in the path must represent a valid category ID previously defined by this or some other plug-in. If omitted, the wizard will be added to the "Other" category.
- contentFile - the path of a cheat sheet content file. The content file is an XML file that contains the specifics of the cheat sheet (cheat sheet content file format specification). The content file is parsed at run time by the cheat sheet framework. Based on the settings in this file, a certain number of steps, actions, descriptions, and help links are shown to the user when the cheat sheet is opened. The path is interpreted as relative to the plug-in that declares the extension; the path may include special variables. In particular, use "$nl$" as the first segment of the path to indicate that there are locale-specific translations of the content file in subdirectories below "nl/". For more detail about the special variables, you can read the Java API document for Platform.find.
- listener - listener is a fully qualified name of a Java class which must subclass `org.eclipse.ui.cheatsheets.CheatSheetListener`.
- composite - Since Eclipse 3.2 a new kind of cheatsheet, a composite cheatsheet was introduced. A composite cheatsheet manages a set of tasks, each task can be a simple cheatsheet or other kind of task.

<!ELEMENT description (#PCDATA)>

a short description of the cheat sheet

<!ELEMENT taskEditor EMPTY>

<!ATTLIST taskEditor

id CDATA #REQUIRED

class CDATA #REQUIRED

icon CDATA #REQUIRED>

This extension point is provisional, being based on the provisional API class TaskEditor. The taskEditor extension point allows for custom UI to appear in the editor pane of a composite cheatsheet. Any task in a compostite cheatsheet whose kind matches the id of this extension will use the class defined in this extension point to create the editor area.

- id - An id which must be unique among task editors.
- class - A class which implements a task editor
- icon - The icon which will be displayed in the task explorer for a task which uses this kind of editor.

<!ELEMENT taskExplorer EMPTY>

<!ATTLIST taskExplorer

id CDATA #REQUIRED

class CDATA #IMPLIED

icon CDATA #IMPLIED

name CDATA #REQUIRED>

This extension point is provisional, being based on the provisional API class TaskExplorer. This extension point allows for the contribution of a task explorer which will be used when opening a composite cheatsheet.

- id - The id of this explorer which must be unique among task explorer ids. If a composite cheatsheet has the explorerId set to this id, this explorer will be displayed in the task explorer area of a composite cheatsheet.
- class - A class which implements ITaskExplorer. The class must display the tasks in the composite cheatsheet and allow the user to select the tasks to be displayed in the editor.
- icon - An icon to be used in the dropdown menu which allows for switching between explorers.
- name -

###### Examples:

Here is a sample usage of the cheatSheetContent extension point:

    <extension point="org.eclipse.ui.cheatsheets.cheatSheetContent">
      <category
         name="Example category"
         id="com.example.category">
      </category>
      <cheatsheet
         name="Example cheat sheet"
         category="com.example.category"
         id="com.example.cheatSheet"
         contentFile="ExampleCheatSheet.xml">
             <description>
               This is a descriptive bit of text for my cheat sheet description.
             </description>
      </cheatsheet>
    </extension>

###### API Information:

For further details see the spec for the org.eclipse.ui.cheatsheets API package.

###### Supplied Implementation:

There are no built-in cheat sheets.

Copyright (c) 2004, 2006 IBM Corporation and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html/ SPDX-License-Identifier: EPL-2.0