我正在开发eclipse插件。当在我的编辑器插件中右键单击并选择“首选项”时,它会显示带有 2 个子树项目的 Eclipse 的“常规”树项目——“外观”和“编辑器”。在“编辑器”下,有另一个树项目“文本编辑器”被选中。
如何更改行为以在右键单击“首选项”时显示我在 plugin.xml 中声明为“org.eclipse.ui.preferencePages”扩展点的项目?
谢谢,托默
我正在开发eclipse插件。当在我的编辑器插件中右键单击并选择“首选项”时,它会显示带有 2 个子树项目的 Eclipse 的“常规”树项目——“外观”和“编辑器”。在“编辑器”下,有另一个树项目“文本编辑器”被选中。
如何更改行为以在右键单击“首选项”时显示我在 plugin.xml 中声明为“org.eclipse.ui.preferencePages”扩展点的项目?
谢谢,托默
这取决于您的编辑器是从哪个类派生的。如果它派生自org.eclipse.ui.texteditor.AbstractDecoratedTextEditor
它的许多子类或其中之一,那么您可以覆盖collectContextMenuPreferencePages
. 默认值为:
/**
* Returns the preference page ids of the preference pages to be shown when executing the
* preferences action from the editor context menu. The first page will be selected.
* <p>
* Subclasses may extend or replace.
* </p>
*
* @return the preference page ids to show, may be empty
*/
protected String[] collectContextMenuPreferencePages() {
return new String[] { "org.eclipse.ui.preferencePages.GeneralTextEditor",
"org.eclipse.ui.editors.preferencePages.Annotations",
"org.eclipse.ui.editors.preferencePages.QuickDiff",
"org.eclipse.ui.editors.preferencePages.Accessibility",
"org.eclipse.ui.editors.preferencePages.Spelling",
"org.eclipse.ui.editors.preferencePages.LinkedModePreferencePage",
"org.eclipse.ui.preferencePages.ColorsAndFonts",
};
}