Eclipse Hilfe
Eclipse RCP stellt ein Hilfesystem zur Einbindung in eigene Anwendungen bereit. Die Anzeige der Hilfeinhalte erfolgt dabei analog zur Eclipse IDE in einem Browser-Fenster, welches aus der Anwendung heraus geöffnet wird:
Hilfesystem einbinden
Die Hilfe-Funktionalität wird von den Plug-ins org.eclipse.help.* bereitgestellt, die gruppiert in dem Feature org.eclipse.help vorliegen.
Zum Aufrufen der Hilfe können folgende Standard-Commands verwendet werden:
- Inhaltsverzeichnis:
org.eclipse.ui.help.helpContents - Suche:
org.eclipse.ui.help.helpSearch - Kontextsensitive Hilfe “Dynamic Help”:
org.eclipse.ui.help.dynamicHelp
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="menu:org.eclipse.ui.main.menu">
<menu id="help" label="Hilfe">
<command commandId="org.eclipse.ui.help.helpContents" style="push"/>
<command commandId="org.eclipse.ui.help.helpSearch" style="push"/>
<command commandId="org.eclipse.ui.help.dynamicHelp" style="push"/>
</menu>
</menuContribution>
</extension>
Hilfethemen hinzufügen
Die Hilfetexte werden idealerweise in separaten Hilfe-Plug-ins abgelegt. Für solche Hilfe-Plug-ins gibt es im Plug-in Project Assistenten die Vorlage Plug-in with sample help content.
Hilfethemen werden über den Extension Point org.eclipse.help.toc bekanntgegeben:
<extension point="org.eclipse.help.toc">
<toc file="someToc.xml" primary="true"/>
<toc file="toc.xml"/>
</extension>
Die toc.xml-Dateien beschreiben in einer XML-Struktur das Inhaltsverzeichnis der Hilfeinhalte:
<?xml version="1.0" encoding="UTF-8"?>
<toc label="Table of Contents">
<topic label="Some Topic" href="html/sometopic.html"/>
</toc>
Die referenzierten Inhalte sind HTML-Dateien, die mit allen HTML-Mitteln formatiert werden können.
Kontextsensitive Hilfe
Um dem Anwender eine kontextsensitive Unterstützung anzubieten, müssen zunächst Kontexte für die Anwendung definiert werden. Dies geschieht mit dem Extension Point org.eclipse.help.contexts. Mit diesem deklarieren Sie einen Verweis auf eine XML-Datei, in der die Hilfekontexte und -texte für ein Plug-in definiert sind:
<extension point="org.eclipse.help.contexts">
<contexts file="contextsOfSomePlugin.xml" plugin="com.example.someplugin"/>
</extension>
Die angegebene XML-Datei mit den Hilfekontexten wird in einem speziellen Editor bearbeitet:
Sie können nun über das Hilfe-System beliebigen SWT-Controls einen Hilfekontext zuordnen:
PlatformUI.getWorkbench().getHelpSystem()
.setHelp(someControl, SomePluginConstants.SOME_HELP_CONTEXT);
Für die IDs deklarieren Sie am besten Konstanten in einer separaten Klasse in dem verwendenden Plug-in:
public class SomePluginConstants {
public static final String SOME_HELP_CONTEXT = Activator.PLUGIN_ID + ".edit";
}
Aktiviert der Benutzer Dynamic Help (Sie könnten dafür den Tastenkürzel F1 vergeben) werden die Hilfethemen zu dem zugeordneten Kontext angezeigt:
Weitere Hilfe-Features
Mit Cheat Sheets können dem Benutzer Schritt-für-Schritt Anleitungen in der Anwendung selbst angezeigt werden:
Active Help ermöglicht es, aus Hilfetexten heraus Aktionen in der Anwendung auszulösen, also Java-Code ausgelöst durch einen Link auszuführen. So können Aktionen in der Anwendung in Hilfetexten verlinkt werden.



Mir hat die Empfehlung gefehlt das org.eclipse.help als included feature anzugeben -- inklusive dem Hinweis oder der Empfehlung das man dazu selbst ein Feature anlegen muss, möglicherweise mit einem kleinen Link wie das zu bewerkstelligen ist. Zusätzlich fehlt der Hinweis auf die Eclipse-Galileo-Seite und auf das möglicherweise erforderliche Ausschalten von Group By Category. Sehr hilfreich wäre ebenfalls der Hinweis dass die genannten Commands ohne die entsprechenden Actions nicht funktionieren (Verweis auf S. 90).