【发布时间】:2012-05-18 11:56:47
【问题描述】:
我想为我们的产品启用基于项目的首选项对话框。我偶然发现了两个不同的问题:
我如何存储这些项目相关信息。作为一个有根据的猜测,我会尝试这个:
-
IPreferenceStore store = new ScopedPreferenceStore(new ProjectScope(project.getIProject()), Activator.PLUGIN_ID); - 然后根据需要设置“项目商店”(例如在偏好页面中作为商店)
如何仅为项目启用首选项页面?我知道我可以使用PreferenceUtils.createPreferenceDialogOn(…) 调用带有一些预选页面的首选项对话框。不幸的是,首选项页面的 ID 必须在 org.eclipse.ui.preferencePagesextension 点中定义。但如果它们在这个扩展点内,这些页面也在产品的全局“首选项”中。如果在 EP 中未指定它们,则不会显示页面。
对此有任何提示吗?在此先感谢:)
编辑:我真正想要的是一个属性对话框,而不是首选项对话框。如果您正在使用属性页,则 PreferenceUtils 根本不起作用。如果您通过 org.eclipse.ui.propertyPages 提供属性页面,它适用于标准 eclipse 导航器 - 但如何在自定义导航器(通用导航器框架)中处理此问题?
【问题讨论】:
-
也许我应该补充一点,我使用 FieldEditorPreferencePage 作为父级。
-
很难想象您希望它如何呈现给用户。当用户转到 Window -> Preferences 时,这将是全局的。您是否在谈论通过与项目关联的属性访问您的首选项页面(例如,在项目资源管理器中,选择项目,然后选择属性)?如果这是您想要的,这当然是可能的。