範例 - Readme 工具

簡介

Readme 編輯器會顯示如何定義自己的延伸點,供其他外掛程式使用。 它也會顯示如何在副檔名 (.readme)、自訂檢視畫面或內容頁面中,建立資源蹦現功能表項目、新建資源精靈、檔案編輯器的延伸規格。

執行範例

如果要使用這個範例來啟動,請利用檔案建立精靈或範例建立精靈來建立一個副檔名為 .readme 的檔案。 您可以選取「視景 > 顯示檢視畫面 > 其他」,再展開 Readme 區段,來查看這個範例所提供的其他檢視畫面。 您可以按一下「導覽器」檢視畫面的 readme 圖示來查看檢視動作。

建立新的 Readme 檔

請建立一個副檔名為 .readme 的新檔案。請從「檔案」功能表中選取「新建」,再從子功能表選取「其他...」。 在精靈中按一下「簡式」,再選取左側清單中的「檔案」。 再按「下一步」來提供檔案名稱(確定副檔名為 .readme)及檔案應放在其中的資料夾。

範例建立精靈

請「檔案」功能表中,選取「新建」,再從子功能表中,選取「其他...」。現在,請選取「範例建立精靈」。 選取 Readme 檔。 按「下一步」。 選取要在其中建立檔案的資料夾。 請輸入含副檔名 .readme 的檔案名稱。 按一下「完成」。

Readme 檢視延伸動作

請在「導覽器」檢視畫面中,選取含副檔名 .readme 的檔案。 如果沒有的話,請建立含這個副檔名的檔案。 這時「導覽器」檢視畫面本端工具列其中一個按鈕的游標橫越時的說明會說明「請執行 Readme 檢視延伸」。請按一下這個按鈕。這時會蹦現一個對話框,說明已執行「檢視動作」。

蹦現功能表

請在「導覽器」檢視畫面中,選取含副檔名 .readme 的檔案。如果沒有的話,請建立含這個副檔名的檔案。請選取這個檔案來呼叫蹦現功能表。 請注意,這時會有一個功能表項目的蹦現功能表說明「顯示 Readme 動作」。請選取這個功能表動作來開啟說明「已執行蹦現功能表動作」的對話框。

喜好設定頁面

從「視窗」功能表中,選取「喜好設定」。按一下稱為「Readme 範例」的頁面。這會顯示一個喜好設定頁面的範例。

內容頁面

請在「導覽器」檢視畫面中,選取含副檔名 .readme 的檔案。如果沒有的話,請建立含這個副檔名的檔案。請選取這個檔案來呼叫蹦現功能表,選取「內容」功能表項目。 請按一下稱為「Readme 工具」的頁面來檢視內容頁面的範例。

Readme 檔編輯器

Readme 檔編輯器是 *.readme 類型檔案的預設編輯器。請建立副檔名為 .readme 的檔案,再按兩下開啟這個檔案,或呼叫蹦現功能表來選取「開啟工具」,再從子功能表中選取「Readme 檔編輯器」。 請注意,編輯器會有一個有鉛筆的圖示。這是 Readme 工具預設用於 *.readme 檔案類型的工具。

Readme 編輯器動作

這會示範只適用於特定編輯器的動作範例。當 Readme 檔編輯器擁有焦點時,請注意 4 個額外的工具列按鈕 - 「執行 Readme 編輯器延伸項目」、「Readme 編輯器動作 1」、「Readme 編輯器動作 2」、「Readme編輯器動作 3」。

當 Readme 檔編輯器擁有焦點時,會出現一個稱為 Readme 的下拉功能表。它含有先前所說明的動作:Readme 編輯器動作 1、Readme 編輯器動作 2、Readme 編輯器動作 3。

Readme 區段檢視畫面

如果要查看這個「Readme 區段」檢視畫面,請從「視景」功能表中,選取「顯示檢視畫面」,再從子功能表中選取「其他...」。 請展開 Readme 項目,再選取「Readme 區段」。這會在「導覽器」檢視畫面中選取了 .readme 檔時,顯示一份清單來列出現行 *.readme 檔中的區段清單。 您也可以在「概要」檢視畫面中查看 *.readme 檔的結構。

副檔名為 .readme 的檔案可拆開成為若干區段,每個區段的開頭都是一個數字。 例如,如果在 Readme 檔編輯器中輸入下列文字,Readme 工具會偵測到兩個區段。 如果要知道 Readme 工具是如何偵測區段的,請在 Readme 檔編輯器中輸入若干文字, 按 Ctrl-S 或選取「檔案 -> 儲存」來儲存檔案。 請開啟「Readme 區段」檢視畫面,並在「導覽器」檢視畫面中選取 .readme 檔。

範例文字:

99.1 這是我的第一個區段
這是我的第一個區段中的部份文字。

99.1.1 這是一個子區段
這是我的子區段中的部份文字。

拖放

您可以在「概要」檢視畫面中選取一個區段,將選項拖到文字檔上,以瞭解拖放功能。 選項內容會附加到檔案中。

說明構成要素

Readme 工具範例也示範如何使用和實作它提供的所有延伸項目(檢視畫面、各種動作和精靈頁面)的上下文說明。 如果要取得動作的上下文說明,請將游標橫越在功能表項目上,但不要選取,再按下 F1 鍵。 這時應該會出現「Readme 區段」檢視畫面及「範例建立精靈」頁面(在「新建」精靈中)的上下文相關 (F1) 說明。
 

詳細資料

「Readme 工具」範例會宣告一個延伸點及提供若干延伸項目。在瞭解工作台的運作方式上,所提供的延伸項目非常具有綜合性,因為它用一些工作台所宣告的更有趣的延伸點。 這個範例所包含提供的延伸項目是檢視畫面和檢視畫面動作、喜好設定頁面、內容頁面、精靈、編輯器及編輯器動作、蹦現功能表、動作集、說明構成要素、說明環境定義,以及放下動作。

這個範例也提供外掛程式中所宣告的延伸點。 任何使用這個範例所定義 org.eclipse.ui.examples.readmetool.sectionParser 延伸項目的外掛程式都需要 IReadmeFileParser 類別。 DefaultSectionParser 類別是 IReadmeFileParser 的實作範例。

ReadmeEditor 類別實作 IEditorPart,且在 plug.xml 中,利用 org.eclipse.ui.editors 延伸點定義為含 .readme 副檔名的檔案所用的編輯器。 ReadmeSectionsView 類別實作 IViewPart,且定義為使用 org.eclipse.ui.views 延伸點的檢視畫面。 這個延伸點也定義檢視畫面選項中所用之檢視畫面的種類。

這個範例中定義了兩類型的喜好設定:工作台喜好設定和資源內容。 工作台喜好設定定義在實作 IWorkbenchPreferencePage 的 ReadmePreferencePage 類別中,因此,它會新增到「工作台 -> 喜好設定」對話框中。 類別定義在 plugin.xml 中的 org.eclipse.ui.preferencePages 延伸點中。 兩個資源內容分別是 ReadmeFilePropertyPage 和 ReadmeFilePropertyPage2,它們都實作 IWorkbenchPropertyPage。 它們都定義成由 org.eclipse.ui.propertyPages 延伸點中的 plugin.xml 其中的 objectClass,就 IFile 類型來進行呼叫。

ReadmeCreationWizard 類別會實作 INewWizard,且會定義在 plugin.xml 中的 org.eclipse.ui.newWizards 延伸點中。 這個延伸點也會定義使用者選取「檔案 -> 新建 -> 其他...」時所顯示的精靈種類。

這個範例中加入了若干動作 Stub。 動作集宣告一個要利用 org.eclipse.ui.actionSets 延伸點併入工作台視窗功能表列且標籤為 Readme 檔編輯器的功能表。 它也利用 toolbarPath 和 menubarPath 這兩個標示來定義了工作台工具列和功能表列的動作。 它利用實作 IWorkbenchWindowActionDelegate 的 WindowActionDelegate 類別來實作動作。 蹦現功能表的動作由 PopupMenuActionDelegate 類別在 org.eclipse.ui.popupMenus 延伸點中定義為 objectContribution。 PopupMenuActionDelegate 實作 IObjectActionDelegate 並利用所提供的 IWorkbenchPart 來開啟訊息對話框。 檢視畫面動作 ViewActionDelegate 定義在 org.eclipse.ui.viewActions 延伸點中且會實作 IViewActionDelegate。 它所在的檢視畫面是 targetID 標示所定義的,在這個範例中,是 org.eclipse.ui.views.ResourceNavigator。 編輯器動作是實作 IEditorActionDelegate 的 EditorActionDelegate 類別所定義,是利用 org.eclipse.ui.editorActions 延伸點來新增的。 它所適用的編輯器由 targetID 標示來定義,在這個範例中,是定義在 org.eclipse.ui.examples.readmetool.ReadmeEditor 中。

ReadmeDropActionDelegate 類別實作 IDropDelegate。 每次工作台執行放下動作時,都會通知 IDropDelegates。 這個動作的延伸點是 org.eclipse.ui.dropActions。

Copyright IBM Corp. 2000, 2001.  All Rights Reserved.