當焦點位於 Readme 檔編輯器時,會出現名為 Readme 的下拉式功能表。 其中包含前述的動作:執行 README 編輯器副檔名、README 編輯器動作 1、 README 編輯器動作 2、README 編輯器動作 3。
具有副檔名 .readme 的檔案可以細分為不同區段,每個區段以一個號碼開始。 例如,若在 README 檔編輯器中輸入以下文字,則 Readme 工具會偵測到兩個區段。 若要檢視 Readme 工具如何偵測不同區段, 請在 README 檔編輯器中輸入一些文字,輸入 CTRL-S 或選取「檔案->儲存」來儲存檔案。開啟「Readme 區段」檢視,並在「導覽器視圖」中選取 .readme 檔。
範例文字:
99.1 這是我的第一個區段
這是第一個區段中的部份文字。
99.1.1 這是一個子區段。
這是子區段中的部份文字。
可以在「概要視圖」中選取區段,並拖曳該選項至文字檔的頂端,可以檢視「拖放」功能。 選項的內容將會附加至檔案中。
此範例亦提供外掛程式中所宣告的延伸點。 此範例中所定義的使用 org.eclipse.ui.examples.readmetool.sectionParser 副檔名的外掛程式皆需類別 IReadmeFileParser。類別 DefaultSectionParser 是一個 IReadmeFileParser 實作範例。
類別 ReadmeEditor 實作 IEditorPart,且在 plugin.xml 檔中使用 org.eclipse.ui.editors 延伸點定義為具有 .readme 副檔名的檔案之編輯器。類別 ReadmeSectionsView 實作 IViewPart, 且使用 org.eclipse.ui.views 延伸點定義為一個視圖。這個延伸點也定義了視圖選項中所使用的視圖之種類。
此範例定義了兩個類型之喜好設定,工作台喜好設定及資源內容。 工作台喜好設定在類別 ReadmePreferencePage 中定義,該類別實作 IWorkbenchPreferencePage, 這樣,它將會被新增至「視窗->喜好設定」對話框。該類別定義於 plugin.xml 中的延伸點 org.eclipse.ui.preferencePages。兩個資源內容頁面為 ReadmeFilePropertyPage 與 ReadmeFilePropertyPage2,兩者皆實作 IWorkbenchPropertyPage。 兩者皆定義為在 IFile 中,由 org.eclipse.ui.propertyPages 延伸點 plugin.xml 中的 objectClass 標示所呼叫。
類別 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 所定義,在這個範例中,targetID 定義於 org.eclipse.ui.views.ResourceNavigator 中。編輯器動作由實作 IEditorActionDelegate 的類別 EditorActionDelegate 所定義,且使用 org.eclipse.ui.editorActions 延伸點新增。所套用的編輯器由標示 targetID 所定義,在這個範例中,targetID 定義於 org.eclipse.ui.examples.readmetool.ReadmeEditor 中。
類別 ReadmeDropActionDelegate 實作 IDropDelegate。每次都會通知 IDropDelegates 工作台中執行了除去動作。此動作的延伸點為 org.eclipse.ui.dropActions。