java – Eclipse:OSGI首选项与PreferenceStore
我正在使用
Eclipse插件(或实际上是一个基于Eclipse的应用程序的插件),需要用户输入一些配置.
从文档看,似乎有两个偏好的API – 一个在 OSGI API具有层次结构树 – 首选项节点(Preferences或IEclipsePreferences)可以具有多个子节点,它们本身可以包含单个名称 – 值对以及更多子节点.这似乎是适合我的用例 – 我有一个动态数量的“首选项组”,每个都有大约三个字符串属性(名称,描述,命令),它很好地映射到这些节点. JFace API没有这样的层次结构,每个插件只有一个平均的IPreferenceStore.但是它提供了首选编辑器页面,然后可以通过实现IWorkbenchPreferencePage和using the “org.eclipse.ui.preferencePages” extension point将它们包含在通常的首选项对话框(Window / Preferences)中.(我仍然需要自己实现一部分偏好页面,但是这个API为此提供了一个很好的基础,它似乎.) 看来, 所以这里我的问题:如何在首选项对话框中使用分级OSGI首选项?我只需要一个级别,但我需要用户能够动态添加新的节点(每个约有三个首选项). (这些节点不一定要有新的首选页面.) 解决方法
看来,在首选页面级别,它想要使用偏好存储.大多数插件从org.eclipse.ui.plugin.AbstractUIPlugin.getPreferenceStore()提供的默认值中获取他们的偏好存储.这可以轻松地转换为具有与其bundle.id匹配的节点的InstanceScope的ScopedPreferenceStore.
相当于获取匹配的IEclipsePreferences对象将是InstanceScope.INSTANCE.getNode(“bundle.id”).这将允许您在其下方添加更多节点,但是它们将无法从您的IPreferenceStore访问.但是,您的偏好页面可以将其首选存储设置为插件的主要存储,并仍然使用IEclipsePreferences或辅助IPreferenceStore来访问额外的首选项(您只需要自己编码,类似于org.eclipse.ui.internal.dialogs .EditorsPreferencePage). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Do
- Java Map.containsValue()方法:判断Map集合中是否包含指定
- Java中未选中的Cast警告?
- java实现简易局域网聊天功能
- java – 如何在XSLT之后保留空的XML标签 – 防止将它们折叠
- 基于Java ActiveMQ的实例讲解
- CopyOnWriteArrayList源码分析-java8
- Java concurrency线程池之线程池原理(三)_动力节点Java学院
- java – 有关CDI / Weld和DI / Guice中@Inject的信息
- java – 仿真网络断开连接以本地测试分布式应用程序分区