Eclipse 使用链接打开其他首选项页面

Eclipse 使用链接打开其他首选项页面,eclipse,eclipse-plugin,swt,Eclipse,Eclipse Plugin,Swt,我正在尝试从自定义页面链接到另一个首选项页面。 我有一个FieldEditor或referencepage,并制作了一个自定义LinkFieldEditor,它扩展了FieldEditor,因此我可以将其添加到首选项页面 LinkFieldEditor linkField = new LinkFieldEditor("Click here for more options!", getFieldEditorParent()); SelectionAdapter adapt

我正在尝试从自定义页面链接到另一个首选项页面。 我有一个
FieldEditor或referencepage
,并制作了一个自定义
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文件->编辑器
HTML\u PREF\u ID是“org.eclipse.wst.HTML.core”
。我用这个ID以编程方式更改它的首选项,所以我知道它是一个有效的ID。但是当我单击链接时,什么也没有发生。我调试了它,并且
首选项对话框pref
不为空


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

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


注意:您不需要调用
open
。因为您已经打开了首选项,所以对
createPreferenceDialogOn
的调用应该只切换到当前选择的首选项页面。

这是一个包ID,而不是首选项页面ID。无论如何,您不应该篡改另一个包的首选项。