国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關于Eclipse工作臺中的Preference

2019-11-18 13:02:13
字體:
來源:轉載
供稿:網友

  Eclipse平臺支持PReference,preference伴隨著工作空間出現。這篇文章將討論preference的數據存儲類型,并講述怎樣開發和注冊用戶接口使用戶設置preference更加方便,同時還告訴你怎樣利用導入和導出功能存儲不依靠于工作臺的preference。它同時也告訴你當其它的插件要使用你的插件的preference時候怎樣初始化和得到preference。這個功能將在下面的例子中進行演示,這個例子是在文件中查找錯誤的單詞。我們將在這個工具中用2個preference頁設置我們的preference,其中一個是設置高量顯示的顏色`,這個頁面比較簡單,另外一個稍微復雜點,是設置單詞的列表。
  
  何時使用Preference
  
  Preference是一種數據,它存在于工作空間中,答應用戶存儲插件的狀態,以保證它在Eclipse中的一致性。Eclipse 2.0提供2種preference,用戶接口(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的子類。構造函數(參見 )將在工作臺中創建一個獨立的答應輕易訪問的插件實例。我們實現方法initializeDefaultPreferences()為preference設置默認值。首先為錯誤的單詞定義了一個preference,另外一個是定義高量顯示的顏色。每個preference的值與給定的要害字相對應。在下面的代碼中使用的要害字是在中定義的常量。
  
  所有的preference應該都有默認值來保證在任何時候都有值。默認值也保證了UI能夠提供一種方式重置preference的值回到初始設定,這是通過“保存默認按鈕”實現的。Preference的默認值在插件中也應該進行初始化,以便它在任何UI創建之前設置。
  
  IabstractWorkbenchPlugin定義了一個方法,當preference第一次創建的時候,它會被調用。這個方法就是initializeDefaultPreferences(IPreferenceStore)。在這個方法中(參見)你應該把所有的值都設為默認值,才能夠使用preference store。我們在PreferenceConverter中用helper方法設定默認的color,PreferenceConverter答應插件開發者設置和得到一些常見的存儲類型的preference的值,例如FontData,Point等等。提供API是因為preference無論是存儲還是讀取都是String,以一種我們人可以理解的格式。這樣來平衡java的屬性機制。我們那個稍微復雜的錯誤單詞的preference在初始化的時候使用了預先設定的值。在PreferenceConvertor中并沒有提供API來存儲和讀取String數組。
  
  Color color= Display.getDefault().getSystemColor(SWT.COLOR_BLUE);PreferenceConverter.setDefault
  (store, HIGHLIGHT_PREFERENCE,
  color.getRGB());
  public class BadWordCheckerPlugin extends AbstractUIPlugin
  {
  //The shared instance.
  private static BadWordCheckerPlugin plugin;
  //The identifiers for the preferences
  public static final String BAD_WORDS_PREFERENCE = "badwords";
  public static final String HIGHLIGHT_PREFERENCE = "highlight";
  //The default values for the preferences
  public static final String DEFAULT_BAD_WORDS = "bug;bogus;hack;";
  public static final int DEFAULT_HIGHLIGHT = SWT.COLOR_BLUE;
  public BadWordCheckerPlugin(IPluginDescriptor descriptor)
  {
  super(descriptor);
  plugin = this;
  }
  public static BadWordCheckerPlugin getDefault()
  {
  return plugin;  }
  /**   * Initializes a preference store with default preference values
  * for this plug-in.
  */  protected void initializeDefaultPreferences(IPreferenceStore store)
  {
  store.setDefault(BAD_WORDS_PREFERENCE, DEFAULT_BAD_WORDS);
  Color color= Display.getDefault().getSystemColor(DEFAULT_HIGHLIGHT);
  PreferenceConverter.setDefault(store, HIGHLIGHT_PREFERENCE, color.getRGB());
  }
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都兰县| 梁山县| 安远县| 景东| 岐山县| 如东县| 南京市| 白河县| 枣强县| 大新县| 同江市| 修水县| 德安县| 赞皇县| 武汉市| 梁平县| 冀州市| 珲春市| 侯马市| 曲麻莱县| 肥城市| 安塞县| 东海县| 赣州市| 高安市| 麟游县| 定结县| 南投市| 涿鹿县| 若羌县| 开远市| 松潘县| 蓬安县| 通城县| 济南市| 固原市| 南投县| 宽城| 金门县| 武冈市| 锦屏县|