Eclipse工作台中的Preference(1)

英文原文

Translated by Frank

Eclipse工作台中的Preference


概述
在Eclipse平台中,插件开发者为他们自己的插件定义preference页面,这些preference页面可以在工作台preference对话框中使用。这篇文章将告诉你何时使用preference,还有Eclipse平台提供的一些支持preference的功能。

编者注:这篇文章最早于200111月发表,对应于当时的Eclipse1.0版,在2.0中,用户接口preference的功能有所加强。

介绍

Eclipse平台支持preferencepreference伴随着工作空间出现。这篇文章将讨论preference的数据存储类型,并讲述怎样开发和注册用户接口使用户设置preference更加方便,同时还告诉你怎样利用导入和导出功能存储不依赖于工作台的preference。它同时也告诉你当其它的插件要使用你的插件的preference时候怎样初始化和得到preference。这个功能将在下面的例子中进行演示,这个例子是在文件中查找错误的单词。我们将在这个工具中用2preference页设置我们的preference,其中一个是设置高量显示的颜色`,这个页面比较简单,另外一个稍微复杂点,是设置单词的列表。

何时使用Preference

Preference是一种数据,它存在于工作空间中,允许用户存储插件的状态,以保证它在Eclipse中的一致性。Eclipse 2.0提供2preference,用户接口(UI)preference(同样存在于1.0中)和核心preference。这篇文章仅仅涉及到怎样使用UI preference存储。典型的UI preference有新的实例的默认值,编辑器的颜色,路径等等。核心preference用于不是UI的部分的值。

Preference并不涉及到当前工作空间中的任何资源,相反,它应该被编辑器,视图或者其它的操作资源的对象所使用。一种资源实例对应的数据最好存储成一个属性,当然,这将在稍后的一篇文章里讨论。

Preference对任何插件来说都是可用的,当然,先决条件是存在插件。通常的方法是你的插件上提供API,允许preference可以被访问。Preference的值存储在工作空间的.metadata/.plugins目录下面。下面我们举例怎么做。

Preference Store和插件

每个插件都有自己的preference store,这是工作空间提供的。在这个例子中,我们将定义一个插件,使用它的preference store存储preference。在UI中当要使用插件的时候我们定义AbustractUIPlugin的子类。构造函数(参见<shapetype id="_x0000_t75" coordsize="21600,21600" o:preferrelative="t" o:spt="75" filled="f" stroked="f" path=" m@4@5 l@4@11@9@11@9@5 xe"></shapetype><stroke joinstyle="miter"></stroke><formulas></formulas><f eqn="if lineDrawn pixelLineWidth 0 "></f><f eqn="sum @0 1 0 "></f><f eqn="sum 0 0 @1 "></f><f eqn="prod @2 1 2 "></f><f eqn="prod @3 21600 pixelWidth "></f><f eqn="prod @3 21600 pixelHeight "></f><f eqn="sum @0 0 1 "></f><f eqn="prod @6 1 2 "></f><f eqn="prod @7 21600 pixelWidth "></f><f eqn="sum @8 21600 0 "></f><f eqn="prod @7 21600 pixelHeight "></f><f eqn="sum @10 21600 0 "></f><lock aspectratio="t" v:ext="edit"></lock>)将在工作台中创建一个独立的允许容易访问的插件实例。我们实现方法initializeDefaultPreferences()preference设置默认值。首先为错误的单词定义了一个preference,另外一个是定义高量显示的颜色。每个preference的值与给定的关键字相对应。在下面的代码中使用的关键字是在中定义的常量。

所有的preference应该都有默认值来保证在任何时候都有值。默认值也保证了UI能够提供一种方式重置preference的值回到初始设定,这是通过“保存默认按钮”实现的。Preference的默认值在插件中也应该进行初始化,以便它在任何UI创建之前设置。

IabstractWorkbenchPlugin定义了一个方法,当preference第一次创建的时候,它会被调用。这个方法就是initializeDefaultPreferences(IPreferenceStore)。在这个方法中(参见)你应该把所有的值都设为默认值,才能够使用preference store。我们在PreferenceConverter中用helper方法设定默认的colorPreferenceConverter允许插件开发者设置和得到一些常见的存储类型的preference的值,例如FontData,Point等等。提供API是因为preference无论是存储还是读取都是String,以一种我们人可以理解的格式。这样来平衡Java的属性机制。我们那个稍微复杂的错误单词的preference在初始化的时候使用了预先设定的值。在PreferenceConvertor中并没有提供API来存储和读取String数组。

 
 
 
(to be continued)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值