目前,我們已看過 Readme 工具所提供的不同延伸。 現在,我們要看看 Readme 工具外掛程式的一般定義。
Readme 工具外掛程式定義在 MANIFEST.MF 檔中。
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Plugin.name Bundle-SymbolicName: org.eclipse.ui.examples.readmetool; singleton:=true Bundle-Version: 3.2.0.qualifier Bundle-ClassPath: readmetool.jar Bundle-Activator: org.eclipse.ui.examples.readmetool.ReadmePlugin Bundle-Vendor: %Plugin.providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.resources, org.eclipse.core.runtime, org.eclipse.ui.views, org.eclipse.ui.ide, org.eclipse.jface.text, org.eclipse.text, org.eclipse.ui.workbench.texteditor, org.eclipse.ui.editors Eclipse-AutoStart: true Eclipse-AutoStart-comment: Use Eclipse-AutoStart instead of Eclipse-LazyStart because the readme example should run against 3.1 as well as 3.2.
外掛程式定義包括外掛程式的 Bundle-Name、Bundle-SymbolicName(外掛程式 ID)、Bundle-Version 和 Bundle-Vendor。 我們在 Hello World 外掛程式中,曾見過大部分參數。 Readme 工具也定義一個特殊的外掛程式類別 ReadmePlugin。
還會提供 JAR 檔的名稱。Bundle-ClassPath 所指定的檔名是相對於外掛程式的目錄,因此,Readme 工具的 JAR 檔應該直接放在外掛程式的目錄中。
Require-Bundle 元素會通知平台 Readme 工具的相依關係。 工作台 UI 外掛程式列為必要的外掛程式,還有各種核心、jface 和文字外掛程式。
ReadmePlugin 類別代表 Readme 工具外掛程式,會管理外掛程式的生命週期。 如我們在 Hello World 範例中所見,您不需要指定外掛程式類別。平台會自動提供。 在這個情況下,我們的外掛程式在啟動時必須起始設定 UI 相關資料。 平台類別 AbstractUIPlugin 會提供一個 ReadmePlugin 所繼承用來管理 UI 資源的結構。
AbstractUIPlugin 在外掛程式的生命期限中,利用一般的啟動和關閉方法來管理影像、對話框設定和喜好設定儲存庫。 當我們使用對話框和喜好設定時,會查看 ReadmePlugin 類別的特定事項。