当某个自述文件具有焦点时,出现一个名为“自述文件”的下拉菜单。它包含前面所述的操作:自述文件编辑器操作 1、自述文件编辑器操作 2 和自述文件编辑器操作 3。
可将扩展名为 .readme 的文件分成若干部分(若每个部分都以数字开头的话)。例如,如果将下列文本输入 到自述文件编辑器中,则自述文件工具将检测到两个部分。要查看各个部分在自述文件工具中是如何检测到的,在自述文件编辑器中输入一些文本,并通过按 CTRL-S 或选择“文件 -> 保存”来保存该文件。打开“自述文件部分”视图并在“导航器视图”中选择 .readme 文件。
示例文本:
99.1 This is my first section
This is some text in my first section.
99.1.1 This is a sub section
This is some text in my sub-section.
可通过在“大纲视图”中选择一个部分并将该所选部分拖过文本文件的顶部来查看“拖放”功能。该所选部分的内容将被追加到文件中。
此示例还提供在插件中声明的扩展点。使用本示例定义的 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。它们都被定义为通过 plugin.xml 中的 org.eclipse.ui.propertyPages 扩展点中的 objectClass 标记针对 IFile 类型来调用。
ReadmeCreationWizard 类实现 INewWizard,并在 plugin.xml 中的 org.eclipse.ui.newWizards 扩展点中定义该类。此扩展点还定义当用户选择“文件 -> 新建 -> 示例...”时显示的向导的类别。
将几个操作存根添加到此示例中。操作集声明一个标有自述文件编辑器的菜单(将使用 org.eclipse.ui.actionSets 扩展点把该菜单包括在工作台窗口菜单中)。它还使用标记 toolbarPath 和 menubarPath 定义用于工作台工具栏和菜单栏的操作。它使用 实现 IWorkbenchWindowActionDelegate 的 WindowActionDelegate 类来实现该操作。通过 org.eclipse.ui.popupMenus 扩展点中的 PopupMenuActionDelegate 类将用于弹出菜单的操作定义为 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。每当在工作台中执行放下操作时,就会通知 IDropDelegate。此操作的扩展点是 org.eclipse.ui.dropActions。