Within Eclipse we have a generated
Activator
, which creates a Guice injector using the
modules.
In addition an
IExecutableExtensionFactory
is generated for each language, which is used to create
ExecutableExtensions
.
This means that everything which is created via extension points is managed by Guice as well, i.e. you can declare dependencies and get them injected upon creation.
The only thing you have to do in order to use this factory is to prefix the class with the factory
<MyLanguageName>ExecutableExtensionFactory
name followed by a colon.
<extension
point="org.eclipse.ui.editors">
<editor
class="<MyLanguageName>ExecutableExtensionFactory:
org.eclipse.xtext.ui.core.editor.XtextEditor"
contributorClass=
"org.eclipse.ui.editors.text.TextEditorActionContributor"
default="true"
extensions="ecoredsl"
id="org.eclipse.xtext.example.EcoreDsl"
name="EcoreDsl Editor">
</editor>
</extension>