# Eclipse Help System in RCP einbinden



## Gonzo17 (17. Jul 2009)

Heyho,

und mal wieder habe ich eine Frage zu meinem RCP Plug-In.  

Ich möchte das Eclipse Help System richtig einbauen. Genauer gesagt, ich möchte den Hilfe Context haben. Wie man das Help System ansich einbaut weiss ich und es läuft auch problemlos. Wenn ich aber die kontextsensitive Hilfe einbauen will, stoße ich immer wieder auf Probleme. Bei manchen Editoren kann ichs einbauen, bei andern nicht, manchen Views kann ich eine ID zuweisen und manchen eben nicht. Und das ist sehr ärgerlich, weil wenn schon alles mit einer Hilfe ausgestattet sein soll. 

Um mein Problem genauer zu spezifizieren zeige ich euch mal das Stückchen Quellcode, um das es sich dreht:


```
Activator.helpSystem.setHelp(parent,
				"de.test.meinProjekt.test_id");
```

Activator ist mein Plug-In, parent muss ein Control, eine IAction oder ein Menu sein und der String ist die ID (die sich aus dem Projekt, in der die Hilfe aufgebaut wird, plus der einmaligen ID zusammensetzt). In der contexts.xml trage ich nun etwas ein und verwende die ID, in diesem Fall wäre das "test_id" (sofern das Projekt eben "de.test.meinProjekt" ist). Wenn ich nun beim Benutzen meines Programmes F1 drücke und eine Komponente gerade verwendet wird, die mit solch einer ID und der dazugehörigen Hilfe ausgestattet ist, dann öffnet sich rechts ein Help-View (in manchen Fällen wird die Hilfe aber auch als Tooltip angezeigt, spielt aber keine Rolle). So sollte es funktionieren und so tut es auch bei den allermeisten Komponenten. 

Bei manchen Komponenten lässt sich die ID aber nicht gescheit zuordnen. Ich schätze das hängt beispielsweise damit zusammen, dass ich für die Control etwas bekomme, das nicht eindeutig dieses Fenster identifiziert. Ein kurioses Beispiel ist zum Beispiel folgendes. Ich habe einen SQL-Editor, in der createPartControl-Methode definiere ich die ID und es funktioniert problemlos. Ich habe auch einen Text-Editor, tu ich bei diesem genau das gleiche an der selben Stelle, dann funktioniert es nicht. Bei allen andern Editoren funktioniert es. Außerdem funktioniert es nicht bei Multi-Page-Editoren, beispielsweise einem XML-Editor mit zwei Seiten (eine Seite zur schönen Darstellung und einmal die Source-Seite). Und es funktioniert auch nicht mit allen Views. Dabei bereitet mir vor allem der Properties-View Sorgen. Den hab ich eigentlich ohne Veränderung von Eclipse geklaut, wie soll ich aber nun die ID setzen? Ich hab keine Klasse, in der ich den irgendwie Properties-View editiere. Per Plug-In-Spy hab ich die standardmäßige Help Context ID rausgefunden, aber wenn ich die eintrage, funktioniert es auch nicht. 

Hat jemand von euch sowas schonmal gemacht und hatte ähnliche Probleme? Wenn ihr noch was wissen wollt, dann fragt. Ich weiss nicht inwiefern sich da überhaupt jemand auskennt und welche Infos noch benötigt werden. Freue mich auf jeden Fall über jede Hilfe.


----------



## foobar (18. Jul 2009)

Aktivier doch mal die Logging-Funktion für Eclipse Help bzw. Keybindings in der RunConfiguration, dann siehste besser was passiert.


----------



## Gonzo17 (30. Jul 2009)

Hey,
danke für die Antwort. War zwischendurch verreist und schaue deshalb erst heute wieder ins Forum, daher meine späte Antwort.

Logging-Funktion? Sagt mir nix und ich hab auf die Schnelle auch nix dazu finden können. Was ist das genau? 

Wie mir Keybindings beim Lösen des Problems helfen sollen weiss ich gerade auch nicht. Zumal ich grade zu blöd bin zu aktvieren. Finde da nichts in RunConfiguration. 

Ich bin momentan wieder dabei etwas rumzuprobieren. Mal schauen was es bringt.


----------

