diff --git a/org.eclipse.xtext.xtext.generator/META-INF/MANIFEST.MF b/org.eclipse.xtext.xtext.generator/META-INF/MANIFEST.MF
index edbf37159..3f340ce51 100644
--- a/org.eclipse.xtext.xtext.generator/META-INF/MANIFEST.MF
+++ b/org.eclipse.xtext.xtext.generator/META-INF/MANIFEST.MF
@@ -51,6 +51,7 @@ Export-Package: org.eclipse.xtext.xtext.generator,
  org.eclipse.xtext.xtext.generator.types;x-internal:=true,
  org.eclipse.xtext.xtext.generator.ui.compare;x-internal:=true,
  org.eclipse.xtext.xtext.generator.ui.contentAssist;x-internal:=true,
+ org.eclipse.xtext.xtext.generator.ui.editor;x-internal:=true,
  org.eclipse.xtext.xtext.generator.ui.labeling;x-internal:=true,
  org.eclipse.xtext.xtext.generator.ui.outline;x-internal:=true,
  org.eclipse.xtext.xtext.generator.ui.projectWizard;x-internal:=true,
diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ImplicitFragment.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ImplicitFragment.xtend
index a7ae2ac8d..39b2226b8 100644
--- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ImplicitFragment.xtend
+++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ImplicitFragment.xtend
@@ -58,10 +58,15 @@ package class ImplicitFragment extends AbstractStubGeneratingFragment {
 		val StringConcatenationClient expression = '''�'org.eclipse.xtext.ui.shared.Access'.typeRef�.getJavaProjectsState()'''
 		val bindingFactory = new GuiceModuleAccess.BindingFactory()
 			.addTypeToProviderInstance(IAllContainersState.typeRef, expression)
+		
+		if (isGenerateStub) {
+			bindingFactory.addTypeToType(grammar.eclipsePluginDefaultEditor, grammar.eclipsePluginEditor)
+		} else if (inheritsXbase(grammar)) {
+			bindingFactory.addTypeToType(grammar.eclipsePluginDefaultEditor, grammar.eclipsePluginXbaseEditor)
+		}
+		
 		if (inheritsXbase(grammar)) {
-			bindingFactory.addTypeToType('org.eclipse.xtext.ui.editor.XtextEditor'.typeRef,
-					'org.eclipse.xtext.xbase.ui.editor.XbaseEditor'.typeRef)
-				.addTypeToType('org.eclipse.xtext.ui.editor.model.XtextDocumentProvider'.typeRef,
+			bindingFactory.addTypeToType('org.eclipse.xtext.ui.editor.model.XtextDocumentProvider'.typeRef,
 					'org.eclipse.xtext.xbase.ui.editor.XbaseDocumentProvider'.typeRef)
 				.addTypeToType('org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler'.typeRef,
 					'org.eclipse.xtext.xbase.ui.generator.trace.XbaseOpenGeneratedFileHandler'.typeRef)
diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/StandardLanguage.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/StandardLanguage.xtend
index cfb0de5ff..7295b8559 100644
--- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/StandardLanguage.xtend
+++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/StandardLanguage.xtend
@@ -38,6 +38,7 @@ import org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
 import org.eclipse.xtext.xtext.generator.web.WebIntegrationFragment
 import org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2
 import org.eclipse.xtext.xtext.generator.xbase.XtypeGeneratorFragment2
+import org.eclipse.xtext.xtext.generator.ui.editor.EditorFragment2
 
 /**
  * This specialization of the {@link XtextGeneratorLanguage} adds all the standard generator fragments
@@ -116,6 +117,8 @@ import org.eclipse.xtext.xtext.generator.xbase.XtypeGeneratorFragment2
 	
 	SimpleProjectWizardFragment2 newProjectWizardForEclipse = new SimpleProjectWizardFragment2
 	
+	EditorFragment2 editor = new EditorFragment2
+	
 	new() {
 		try {
 			class.classLoader.loadClass("org.eclipse.xtext.xbase.XbaseRuntimeModule")
@@ -171,6 +174,7 @@ import org.eclipse.xtext.xtext.generator.xbase.XtypeGeneratorFragment2
 		fragments += ideaPlugin
 		fragments += webSupport
 		fragments += newProjectWizardForEclipse
+		fragments += editor
 		fragments
 	}
 	
diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/XtextGeneratorNaming.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/XtextGeneratorNaming.xtend
index 1fa618ba5..c3d98fc8d 100644
--- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/XtextGeneratorNaming.xtend
+++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/XtextGeneratorNaming.xtend
@@ -99,6 +99,18 @@ class XtextGeneratorNaming {
 		new TypeReference(grammar.eclipsePluginBasePackage, getSimpleName(grammar) + 'ExecutableExtensionFactory')
 	}
 	
+	def getEclipsePluginEditor(Grammar grammar) {
+		new TypeReference(grammar.eclipsePluginBasePackage + '.editor', getSimpleName(grammar) + 'Editor')
+	}
+	
+	def getEclipsePluginXbaseEditor(Grammar grammar) {
+		new TypeReference('org.eclipse.xtext.xbase.ui.editor.XbaseEditor')
+	}
+	
+	def getEclipsePluginDefaultEditor(Grammar grammar) {
+		new TypeReference('org.eclipse.xtext.ui.editor.XtextEditor')
+	}
+	
 	/**
 	 * @return name for the eclipsePlugin Activator or <code>null</code> if eclipsePlugin has no name
 	 */
diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ui/editor/EditorFragment2.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ui/editor/EditorFragment2.xtend
new file mode 100644
index 000000000..c14d30ffe
--- /dev/null
+++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ui/editor/EditorFragment2.xtend
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2017 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.xtext.generator.ui.editor
+
+import com.google.inject.Inject
+import org.eclipse.xtext.xtext.generator.AbstractStubGeneratingFragment
+import org.eclipse.xtext.xtext.generator.XtextGeneratorNaming
+import org.eclipse.xtext.xtext.generator.model.FileAccessFactory
+import org.eclipse.xtext.xtext.generator.xbase.XbaseUsageDetector
+
+/**
+ * @author fstolte - Initial contribution and API
+ * @since 2.14
+ */
+class EditorFragment2 extends AbstractStubGeneratingFragment {
+	
+	@Inject FileAccessFactory fileAccessFactory
+	
+	@Inject extension XbaseUsageDetector
+	
+	@Inject extension XtextGeneratorNaming
+	
+	override generate() {
+		if (isGenerateStub) {
+			if (projectConfig.eclipsePlugin?.srcGen !== null) {
+				generateEditor
+			}
+			
+
+			if (projectConfig.eclipsePlugin.manifest !== null) {
+				projectConfig.eclipsePlugin.manifest.exportedPackages += grammar.eclipsePluginEditor.packageName
+			}
+		}
+	}
+	
+	
+	protected def generateEditor() {
+		val file = fileAccessFactory.createGeneratedJavaFile(grammar.eclipsePluginEditor)
+		
+		val superClass = if (grammar.inheritsXbase) grammar.eclipsePluginXbaseEditor else grammar.eclipsePluginDefaultEditor
+		
+		file.content = '''
+			/**
+			 * This class was generated. Customizations should only happen in a newly
+			 * introduced subclass.
+			 */
+			public class �grammar.eclipsePluginEditor.simpleName� extends �superClass� {
+			}
+		'''
+		file.writeTo(projectConfig.eclipsePlugin.srcGen)
+	}
+	
+}
\ No newline at end of file
diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/xbase/XbaseGeneratorFragment2.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/xbase/XbaseGeneratorFragment2.xtend
index 11610dff7..3eacaf043 100644
--- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/xbase/XbaseGeneratorFragment2.xtend
+++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/xbase/XbaseGeneratorFragment2.xtend
@@ -20,6 +20,7 @@ import org.eclipse.xtext.xtext.generator.model.FileAccessFactory
 import org.eclipse.xtext.xtext.generator.model.GuiceModuleAccess
 import org.eclipse.xtext.xtext.generator.model.TypeReference
 
+import static extension org.eclipse.xtext.GrammarUtil.*
 import static extension org.eclipse.xtext.xtext.generator.model.TypeReference.*
 import static extension org.eclipse.xtext.xtext.generator.util.GenModelUtil2.*
 import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment
@@ -356,7 +357,7 @@ class XbaseGeneratorFragment2 extends AbstractXtextGeneratorFragment {
 		projectConfig.eclipsePlugin.pluginXml.entries += '''
 			<extension point="org.eclipse.core.runtime.adapters">
 				<factory class="�grammar.eclipsePluginExecutableExtensionFactory�:org.eclipse.xtext.builder.smap.StratumBreakpointAdapterFactory"
-					adaptableType="org.eclipse.xtext.ui.editor.XtextEditor">
+					adaptableType="�grammar.eclipsePluginEditor.name�">
 					<adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
 				</factory> 
 			</extension>
diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ImplicitFragment.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ImplicitFragment.java
index e0f4de5e3..de5b9e996 100644
--- a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ImplicitFragment.java
+++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ImplicitFragment.java
@@ -89,10 +89,18 @@ class ImplicitFragment extends AbstractStubGeneratingFragment {
     };
     final StringConcatenationClient expression = _client;
     final GuiceModuleAccess.BindingFactory bindingFactory = new GuiceModuleAccess.BindingFactory().addTypeToProviderInstance(TypeReference.typeRef(IAllContainersState.class), expression);
-    boolean _inheritsXbase = this._xbaseUsageDetector.inheritsXbase(this.getGrammar());
-    if (_inheritsXbase) {
-      bindingFactory.addTypeToType(TypeReference.typeRef("org.eclipse.xtext.ui.editor.XtextEditor"), 
-        TypeReference.typeRef("org.eclipse.xtext.xbase.ui.editor.XbaseEditor")).addTypeToType(TypeReference.typeRef("org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"), 
+    boolean _isGenerateStub = this.isGenerateStub();
+    if (_isGenerateStub) {
+      bindingFactory.addTypeToType(this.naming.getEclipsePluginDefaultEditor(this.getGrammar()), this.naming.getEclipsePluginEditor(this.getGrammar()));
+    } else {
+      boolean _inheritsXbase = this._xbaseUsageDetector.inheritsXbase(this.getGrammar());
+      if (_inheritsXbase) {
+        bindingFactory.addTypeToType(this.naming.getEclipsePluginDefaultEditor(this.getGrammar()), this.naming.getEclipsePluginXbaseEditor(this.getGrammar()));
+      }
+    }
+    boolean _inheritsXbase_1 = this._xbaseUsageDetector.inheritsXbase(this.getGrammar());
+    if (_inheritsXbase_1) {
+      bindingFactory.addTypeToType(TypeReference.typeRef("org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"), 
         TypeReference.typeRef("org.eclipse.xtext.xbase.ui.editor.XbaseDocumentProvider")).addTypeToType(TypeReference.typeRef("org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"), 
         TypeReference.typeRef("org.eclipse.xtext.xbase.ui.generator.trace.XbaseOpenGeneratedFileHandler"));
     }
diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/StandardLanguage.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/StandardLanguage.java
index c3ad76cf2..89e482d8f 100644
--- a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/StandardLanguage.java
+++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/StandardLanguage.java
@@ -36,6 +36,7 @@ import org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2;
 import org.eclipse.xtext.xtext.generator.types.TypesGeneratorFragment2;
 import org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2;
 import org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2;
+import org.eclipse.xtext.xtext.generator.ui.editor.EditorFragment2;
 import org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2;
 import org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2;
 import org.eclipse.xtext.xtext.generator.ui.outline.QuickOutlineFragment2;
@@ -126,6 +127,8 @@ public class StandardLanguage extends XtextGeneratorLanguage {
   
   private SimpleProjectWizardFragment2 newProjectWizardForEclipse = new SimpleProjectWizardFragment2();
   
+  private EditorFragment2 editor = new EditorFragment2();
+  
   public StandardLanguage() {
     try {
       this.getClass().getClassLoader().loadClass("org.eclipse.xtext.xbase.XbaseRuntimeModule");
@@ -209,6 +212,7 @@ public class StandardLanguage extends XtextGeneratorLanguage {
       this.operator_add(fragments, this.ideaPlugin);
       this.operator_add(fragments, this.webSupport);
       this.operator_add(fragments, this.newProjectWizardForEclipse);
+      this.operator_add(fragments, this.editor);
       _xblockexpression = fragments;
     }
     return _xblockexpression;
@@ -465,5 +469,14 @@ public class StandardLanguage extends XtextGeneratorLanguage {
     this.newProjectWizardForEclipse = newProjectWizardForEclipse;
   }
   
+  @Pure
+  protected EditorFragment2 getEditor() {
+    return this.editor;
+  }
+  
+  public void setEditor(final EditorFragment2 editor) {
+    this.editor = editor;
+  }
+  
   private final static Logger LOG = Logger.getLogger(StandardLanguage.class);
 }
diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/XtextGeneratorNaming.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/XtextGeneratorNaming.java
index 1f80a0467..04f14fc8f 100644
--- a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/XtextGeneratorNaming.java
+++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/XtextGeneratorNaming.java
@@ -137,6 +137,22 @@ public class XtextGeneratorNaming {
     return new TypeReference(_eclipsePluginBasePackage, _plus);
   }
   
+  public TypeReference getEclipsePluginEditor(final Grammar grammar) {
+    String _eclipsePluginBasePackage = this.getEclipsePluginBasePackage(grammar);
+    String _plus = (_eclipsePluginBasePackage + ".editor");
+    String _simpleName = GrammarUtil.getSimpleName(grammar);
+    String _plus_1 = (_simpleName + "Editor");
+    return new TypeReference(_plus, _plus_1);
+  }
+  
+  public TypeReference getEclipsePluginXbaseEditor(final Grammar grammar) {
+    return new TypeReference("org.eclipse.xtext.xbase.ui.editor.XbaseEditor");
+  }
+  
+  public TypeReference getEclipsePluginDefaultEditor(final Grammar grammar) {
+    return new TypeReference("org.eclipse.xtext.ui.editor.XtextEditor");
+  }
+  
   /**
    * @return name for the eclipsePlugin Activator or <code>null</code> if eclipsePlugin has no name
    */
diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ui/editor/EditorFragment2.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ui/editor/EditorFragment2.java
new file mode 100644
index 000000000..5e1838254
--- /dev/null
+++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ui/editor/EditorFragment2.java
@@ -0,0 +1,102 @@
+/**
+ * Copyright (c) 2017 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.xtext.xtext.generator.ui.editor;
+
+import com.google.inject.Inject;
+import java.util.Set;
+import org.eclipse.xtend2.lib.StringConcatenationClient;
+import org.eclipse.xtext.xbase.lib.Extension;
+import org.eclipse.xtext.xtext.generator.AbstractStubGeneratingFragment;
+import org.eclipse.xtext.xtext.generator.XtextGeneratorNaming;
+import org.eclipse.xtext.xtext.generator.model.FileAccessFactory;
+import org.eclipse.xtext.xtext.generator.model.GeneratedJavaFileAccess;
+import org.eclipse.xtext.xtext.generator.model.IXtextGeneratorFileSystemAccess;
+import org.eclipse.xtext.xtext.generator.model.ManifestAccess;
+import org.eclipse.xtext.xtext.generator.model.TypeReference;
+import org.eclipse.xtext.xtext.generator.model.project.IBundleProjectConfig;
+import org.eclipse.xtext.xtext.generator.xbase.XbaseUsageDetector;
+
+/**
+ * @author fstolte - Initial contribution and API
+ * @since 2.14
+ */
+@SuppressWarnings("all")
+public class EditorFragment2 extends AbstractStubGeneratingFragment {
+  @Inject
+  private FileAccessFactory fileAccessFactory;
+  
+  @Inject
+  @Extension
+  private XbaseUsageDetector _xbaseUsageDetector;
+  
+  @Inject
+  @Extension
+  private XtextGeneratorNaming _xtextGeneratorNaming;
+  
+  @Override
+  public void generate() {
+    boolean _isGenerateStub = this.isGenerateStub();
+    if (_isGenerateStub) {
+      IBundleProjectConfig _eclipsePlugin = this.getProjectConfig().getEclipsePlugin();
+      IXtextGeneratorFileSystemAccess _srcGen = null;
+      if (_eclipsePlugin!=null) {
+        _srcGen=_eclipsePlugin.getSrcGen();
+      }
+      boolean _tripleNotEquals = (_srcGen != null);
+      if (_tripleNotEquals) {
+        this.generateEditor();
+      }
+      ManifestAccess _manifest = this.getProjectConfig().getEclipsePlugin().getManifest();
+      boolean _tripleNotEquals_1 = (_manifest != null);
+      if (_tripleNotEquals_1) {
+        Set<String> _exportedPackages = this.getProjectConfig().getEclipsePlugin().getManifest().getExportedPackages();
+        String _packageName = this._xtextGeneratorNaming.getEclipsePluginEditor(this.getGrammar()).getPackageName();
+        _exportedPackages.add(_packageName);
+      }
+    }
+  }
+  
+  protected void generateEditor() {
+    final GeneratedJavaFileAccess file = this.fileAccessFactory.createGeneratedJavaFile(this._xtextGeneratorNaming.getEclipsePluginEditor(this.getGrammar()));
+    TypeReference _xifexpression = null;
+    boolean _inheritsXbase = this._xbaseUsageDetector.inheritsXbase(this.getGrammar());
+    if (_inheritsXbase) {
+      _xifexpression = this._xtextGeneratorNaming.getEclipsePluginXbaseEditor(this.getGrammar());
+    } else {
+      _xifexpression = this._xtextGeneratorNaming.getEclipsePluginDefaultEditor(this.getGrammar());
+    }
+    final TypeReference superClass = _xifexpression;
+    StringConcatenationClient _client = new StringConcatenationClient() {
+      @Override
+      protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) {
+        _builder.append("/**");
+        _builder.newLine();
+        _builder.append(" ");
+        _builder.append("* This class was generated. Customizations should only happen in a newly");
+        _builder.newLine();
+        _builder.append(" ");
+        _builder.append("* introduced subclass.");
+        _builder.newLine();
+        _builder.append(" ");
+        _builder.append("*/");
+        _builder.newLine();
+        _builder.append("public class ");
+        String _simpleName = EditorFragment2.this._xtextGeneratorNaming.getEclipsePluginEditor(EditorFragment2.this.getGrammar()).getSimpleName();
+        _builder.append(_simpleName);
+        _builder.append(" extends ");
+        _builder.append(superClass);
+        _builder.append(" {");
+        _builder.newLineIfNotEmpty();
+        _builder.append("}");
+        _builder.newLine();
+      }
+    };
+    file.setContent(_client);
+    file.writeTo(this.getProjectConfig().getEclipsePlugin().getSrcGen());
+  }
+}
diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/xbase/XbaseGeneratorFragment2.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/xbase/XbaseGeneratorFragment2.java
index ce2162cc0..512cb4c02 100644
--- a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/xbase/XbaseGeneratorFragment2.java
+++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/xbase/XbaseGeneratorFragment2.java
@@ -755,8 +755,11 @@ public class XbaseGeneratorFragment2 extends AbstractXtextGeneratorFragment {
       _builder_2.append(":org.eclipse.xtext.builder.smap.StratumBreakpointAdapterFactory\"");
       _builder_2.newLineIfNotEmpty();
       _builder_2.append("\t\t");
-      _builder_2.append("adaptableType=\"org.eclipse.xtext.ui.editor.XtextEditor\">");
-      _builder_2.newLine();
+      _builder_2.append("adaptableType=\"");
+      String _name = this._xtextGeneratorNaming.getEclipsePluginEditor(this.getGrammar()).getName();
+      _builder_2.append(_name, "\t\t");
+      _builder_2.append("\">");
+      _builder_2.newLineIfNotEmpty();
       _builder_2.append("\t\t");
       _builder_2.append("<adapter type=\"org.eclipse.debug.ui.actions.IToggleBreakpointsTarget\"/>");
       _builder_2.newLine();