diff --git a/plugins/devkit/resources/META-INF/plugin.xml b/plugins/devkit/resources/META-INF/plugin.xml
index 042146018ca5..eb63f1b2fc7f 100644
--- a/plugins/devkit/resources/META-INF/plugin.xml
+++ b/plugins/devkit/resources/META-INF/plugin.xml
@@ -51,6 +51,7 @@
+
diff --git a/plugins/devkit/src/DevKitEditorTabTitleProvider.kt b/plugins/devkit/src/DevKitEditorTabTitleProvider.kt
new file mode 100644
index 000000000000..1ace1b9dec6d
--- /dev/null
+++ b/plugins/devkit/src/DevKitEditorTabTitleProvider.kt
@@ -0,0 +1,25 @@
+// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+package org.jetbrains.idea.devkit
+
+import com.intellij.openapi.fileEditor.impl.EditorTabTitleProvider
+import com.intellij.openapi.project.Project
+import com.intellij.openapi.vfs.VirtualFile
+import com.intellij.psi.PsiManager
+import com.intellij.psi.xml.XmlFile
+import org.jetbrains.idea.devkit.module.PluginDescriptorConstants
+import org.jetbrains.idea.devkit.util.DescriptorUtil
+import org.jetbrains.idea.devkit.util.PsiUtil
+
+class DevKitEditorTabTitleProvider : EditorTabTitleProvider {
+
+ override fun getEditorTabTitle(project: Project, file: VirtualFile): String? {
+ if (PluginDescriptorConstants.META_DATA.fileName != file.name) return null
+
+ if (!PsiUtil.isPluginProject(project)) return null
+
+ val xmlFile = PsiManager.getInstance(project).findFile(file) as? XmlFile ?: return null
+
+ val ideaPlugin = DescriptorUtil.getIdeaPlugin(xmlFile) ?: return null
+ return ideaPlugin.rootElement.pluginId
+ }
+}
\ No newline at end of file