<extension
point="org.eclipse.ui.preferencePages">
<page
class="my.dsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="my.id.root.ui"
name="My DSLs">
<keywordReference id="my.id.root.ui.keyword_root_pref"/>
</page>
</extension>
<!-- add keywords for the search in the preferences page -->
<extension
point="org.eclipse.ui.keywords">
<keyword
id="my.id.root.ui.keyword_root_pref"
label="other keywords"/>
</extension>
Now, the id of the root page, in this case my.id.root.ui just has to be added to the plugin.xml files of the UI projects of the languages whose preferences should be aggregated. This can also be done in the graphical plugin.xml editor of the DSL's UI projects by navigating to the tab Extensions, selecting the first child node under org.eclipse.ui.preferencePages (which should be the DSL preference page) and pasting my.id.root.ui into the category text box.