Community
Participate
Working Groups
The UniversalEditor is currently automatically registered as an editor for each org.eclipse.imp.runtime.languageDescription file extension. An icon can be specified, but the editor name, editor class and the contribution class cannot. A separate org.eclipse.ui.editors can be specified with the UniversalEditor or a derived UniversalEditor or a MultiPageEditorPart that uses a UniversalEditor for some pages. The redundant automatic registration can then be 'suppressed' by specifying an empty string for the file extensions. This seems to be a slight abuse of the language registration. [I appreciate that UniversalEditor aims to provide extension via services, but provision of any unforeseen services will always need more flexibility. Today I need to extend UniversalEditor to put in the PropertyPage adapter that will unwrap the ModelTree selection to get properties to work.] Suggest one of: 1) add the org.eclipse.ui.editors name,class,contributorClass attributes to org.eclipse.imp.runtime.languageDescription. 2) add a registerEditor attribute with default true value to org.eclipse.imp.runtime.languageDescription. 3) remove the auto-registration, instead requiring that all editor registrations occur through use of an org.eclipse.ui.editors. 4) add an org.eclipse.imp.runtime.editorRegistration that when present defines name,icon,class,contributorClass of the editor and inhibits and similar behaviour from the languageDescription. [Observation: Is it really helpful to have 15 or so extensions? Wouldn't it be more sensible for the language registration to have many nested capabilities?]
3) is the only 'Eclipse' option. Modifying the File Associations appears to be unsupported by the IEditorRegistry interface, though perhaps you could create a synthetic plugin and exploit the IExitorExtension interface. Use of the internal EditorRegistry API is very undesirable.
Minor correction: A separate org.eclipse.ui.editors cannot be fully specified while org.eclipse.imp.editor.internal.TextEditorActionContributor is internal. (Unfortunately bug 244819 PDE doesn't diagnose use of internal). Please make TextEditorActionContributor non-internal.
Bug #242967 patch 2 provides a poor comprise to suggestion 3.