【问题标题】:Opening other preference page with Link使用链接打开其他偏好页面
【发布时间】:2018-04-19 15:24:31
【问题描述】:

我正在尝试从我的定制页面链接到另一个偏好页面。 我有一个FieldEditorPreferencePage,并制作了一个自定义LinkFieldEditor,它扩展了FieldEditor,所以我可以将它添加到首选项页面。

        LinkFieldEditor linkField = new LinkFieldEditor("Click here for more options!", getFieldEditorParent());
    SelectionAdapter adapter = new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            PreferenceDialog pref = PreferencesUtil.createPreferenceDialogOn(getShell(), HTML_PREF_ID, null, null);
            if (pref != null) {
                pref.open();
            }
        }
    };
    linkField.addSelectionListener(adapter);
    return linkField;

我正在尝试链接到Web -> HTML Files -> EditorHTML_PREF_ID is "org.eclipse.wst.html.core"。我使用此 ID 以编程方式更改其首选项,因此我知道它是一个有效 ID。但是当我单击链接时,没有任何反应。我调试了一下,PreferenceDialog pref 不为空。

【问题讨论】:

  • 这是捆绑 ID,而不是首选项页面 ID。无论如何,您不应该篡改其他捆绑包的首选项。

标签: eclipse eclipse-plugin swt


【解决方案1】:

您指定给createPreferenceDialogOn 的ID 是使用org.eclipse.ui.preferencePages 扩展点声明的首选项页面的ID,不是首选项存储ID。

对于 HTML 编辑器页面,此 ID 为 org.eclipse.wst.html.ui.preferences.source

注意:您不需要致电open。由于您已经有偏好打开对createPreferenceDialogOn 的调用应该只切换到当前选择的偏好页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    相关资源
    最近更新 更多