当前位置: 首页 > 面试题库 >

Eclipse:OSGI首选项与PreferenceStore

仰翔
2023-03-14
问题内容

我正在开发一个Eclipse插件(或者实际上是基于Eclipse的应用程序的插件),该插件需要用户输入一些配置。

通过查看文档,似乎有两种首选项API-
一种在org.eclipse.core.runtime.preferences,用于扩展/实现OSGI优先API,另一种在,是JFace特定的org.eclipse.jface.preference。然后我们也有org.eclipse.ui.preferences

OSGI API具有分层的节点树-
首选项节点(PreferencesIEclipsePreferences)可以具有多个子节点,它们本身可以包含单独的名称-
值对以及更多的子节点。这似乎对我的用例是正确的-我有一个动态的“首选项组”,每个都有大约三个字符串属性(名称,描述,命令),可以很好地映射到这些节点。

JFace
API没有这样的层次结构,IPreferenceStore每个插件只有一个平面。但是它提供了首选项编辑器页面,然后可以通过实现IWorkbenchPreferencePage和使用“
org.eclipse.ui.preferencePages”扩展点将其包含在通常的首选项对话框(窗口/首选项)中。(我仍然必须自己实现首选项页面的一部分,但看来此API提供了良好的基础。)

似乎该org.eclipse.ui.preferencesAPI通过提供基于IEclipsePreferences的IPreferenceStore实现以某种方式桥接了这两个API,但是我仍然看不到如何使用它。

所以这是我的问题: 如何Preferences在Preferences-dialog中使用分层OSGI
我只需要一个级别,但是我需要用户能够动态添加新节点(每个节点具有大约三个首选项)。(不过,这些节点不必具有新的首选项页面。)


问题答案:

似乎在首选项页面级别,它想与首选项存储一起使用。大多数插件从提供的默认设置中获取其首选项存储org.eclipse.ui.plugin.AbstractUIPlugin.getPreferenceStore()。松散地转换为Instanced的ScopedPreferenceStore,该Scope的节点与其bundle.id相匹配。

获得匹配的IEclipsePreferences对象的等效项是InstanceScope.INSTANCE.getNode("bundle.id")。这样一来,您可以在下面添加更多节点,但是无法从IPreferenceStore中访问它们。但是,您的首选项页面可以将其首选项存储设置为插件的主存储,并且仍使用IEclipsePreferences或辅助IPreferenceStore来访问额外的首选项(类似于,您只需自己编写代码org.eclipse.ui.internal.dialogs.EditorsPreferencePage)。



 类似资料:
  • 7.1.首选项 首选项即用户所做的个人设置。它包含一些选项数据,以及一个修改这些选项数据的用户界面。 在用户看来,首选项就是一些文本框、复选框、下拉菜单等等组成的集合体;而在程序员看来,首选项是一组键值对构成的数据集,其中的值可以是整型、布尔型、字符串等等。 我们的微博应用需要连接到服务端,因此用户的用户名与密码自是必须,除此还需要知道服务端的URL(又称API root)。可知我们在这里需要提供

  • 了解 Lightroom 中可以设置使用的首选项的更多信息。 调整 Lightroom 中的首选项 要打开首选项对话框,请选择编辑 > 首选项 (Win) 或 Lightroom > 首选项 (macOS)。 在首选项对话框中,从左侧菜单选取任意首选项设置:帐户、本地存储空间、常规或界面。 设置所需的首选项,然后单击完成。 此时系统将提示您重新启动 Lightroom 以应用所更改的设置。执行以下

  • 我开始认为我的问题是我的偏好没有正确完成,这就是为什么我无法访问tem。以下是我的偏好: Java: 这是我对设置菜单的调用: 因此,任何帮助将不胜感激!我正在尝试访问这些首选项,但无法访问。它似乎很好地拯救了他们。我能够测试和运行代码,更改pref并保存它们的状态。但是,当我尝试访问它们时,我不能...以下是我用来尝试访问它们的代码: 编辑:我已将其更改为如下调用,无论设置如何,它仍然是“你好,

  • 设置首选项 “首选项”对话框允许Eclipse用户管理其首选项。 此对话框由框架管理,但任何插件都可以向对话框添加多个页面。 要调用此对话框,请单击“窗口”菜单,然后选择“首选项”菜单项。 首选项页面按类别组织。 您可以通过展开对话框左侧树的节点来查找首选项页面。 左上角的过滤器文本框允许您快速找到首选项页面。 在过滤器文本框中键入字符时,左侧树中显示的项目将被过滤。 例如,键入字体以快速进入字体

  • 关于首选项 为了让 Photoshop 根据您特定的工作流程尽可能流畅地运行,您需要根据自己的喜好设置首选项。 许多程序设置都存储在 Adobe Photoshop Prefs 文件中,其中包括常规显示选项、文件存储选项、性能选项、光标选项、透明度选项、文字选项以及增效工具和暂存盘选项。其中大多数选项都是在“首选项”对话框中设置的。每次退出应用程序时都会存储首选项设置。 如果出现异常现象,可能是因

  • 主要内容:Eclipse 设置Preferences首选项Eclipse 设置Preferences首选项 Preferences 对话框允许 Eclipse 用户管理他们的首选项。此对话框由框架管理,但任何插件都可以向对话框添加多个页面。 要调用此对话框,请单击“Window”菜单并选择“Preferences”菜单项。 首选项页面按类别组织。您可以通过展开对话框左侧的树节点来定位首选项页面。 左侧上角的过滤器文本框可让您快速定位首选项页面。当您在过滤