Eclipse RCP应用程序中的项目特定首选项页面
我想为我们的产品启用基于项目的首选项对话框。 我偶然发现了两个不同的问题:
如何存储与项目相关的信息。 作为一个有根据的猜测我会尝试这个:
-
IPreferenceStore store = new ScopedPreferenceStore(new ProjectScope(project.getIProject()), Activator.PLUGIN_ID)
; - 然后根据需要设置“项目商店”(例如在首选项页面中作为商店)
如何仅为项目启用首选项页面? 我知道我可以使用PreferenceUtils.createPreferenceDialogOn(…)
调用带有一些预选页面的PreferenceUtils.createPreferenceDialogOn(…)
选项对话框。 不幸的是,首选项页面的ID必须在org.eclipse.ui.preferencePages
扩展点中定义。 但如果它们位于此扩展点内,则这些页面也位于产品的全局“首选项”中。 如果未在EP内指定它们,则不显示页面。
有什么提示吗? 提前致谢 :)
编辑:我真正想要的是属性对话框,而不是首选项对话框。 如果您正在使用属性页,则PreferenceUtils根本不起作用。 如果您通过org.eclipse.ui.propertyPages
提交属性页面,它适用于标准的eclipse导航器 – 但如何在自定义导航器(Common Navigator Framework)中处理此问题?
您需要inheritancePropertiesPage
,然后在plugin.xml中添加对它的引用,例如。 这使用两个不同的属性页面,一个在选择项目时显示,另一个在文件中显示。 它们都只出现在具有指定项目性质的项目中。