Eclipse插件从菜单项打开首选项页面

时间:2014-11-18 09:37:10

标签: eclipse eclipse-plugin preferences

我有一个

public class PrefMenu extends FieldEditorPreferencePage implements IWorkbenchPreferencePage

实现init()和createFieldMethods()。在将该类添加到preferencePage扩展名后,我确实在Window> Preferences> PREFMENU_NAME中看到了它。

但是如何从菜单项打开首选项页面?我创建了一个命令和一个处理程序,而execute() - Method(与其他命令一起使用)确实......

    //other commands
    } else if (commandID.equals(PREFERENCES_COMMAND_ID)){
        final PrefMenu prefMenu = new PrefMenu();
        prefMenu.init(PlatformUI.getWorkbench());
    }

当我点击菜单项目时,没有任何反应。在调试模式中,我看到它只是执行init() - Method并返回。但是我希望它打开Preferences-Window,只有当我点击OK或取消时才关闭它。

1 个答案:

答案 0 :(得分:4)

使用org.eclipse.ui.dialogs.PreferencesUtil执行此操作:

String id = ... your preference page id

Shell shell = ... parent shell to use ...

PreferencesUtil.createPreferenceDialogOn(shell, id, new String[] {id}, null).open()

这将在首选项对话框中打开您的首选项页面。您可以调整字符串数组以包含其他页面,或者为数组指定null以显示所有首选项页面。