当自述文件编辑器具有焦点时,显示名为“自述文件”的下拉菜单。它包含先前描述的操作:自述文件编辑器操作 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 扩展点的视图。此扩展点还定义视图的类别以在视图选择中使用。
在此示例中定义了两种类型的首选项设置,即工作台首选项和资源属性。工作台首选项在用来实现 IWorkbenchPreferencePage 的类 ReadmePreferencePage 中定义,以便它可添加到“窗口”->“首选项”对话框。该类在 plugin.xml 中的扩展点 org.eclipse.ui.preferencePages 中定义。两个资源属性页是 ReadmeFilePropertyPage 和 ReadmeFilePropertyPage2,它们都用来实现 IWorkbenchPropertyPage。它们两者经过定义后,在 IFile 类型上被 plugin.xml 中 org.eclipse.ui.propertyPages 扩展点的 objectClass 标记调用。
类 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。该编辑器操作由类 EditorActionDelegate 进行定义,该类实现 IEditorActionDelegate 并使用 org.eclipse.ui.editorActions 扩展点进行添加。它所应用的编辑器由 targetID 标记进行定义,在此示例中它在 org.eclipse.ui.examples.readmetool.ReadmeEditor 中进行定义。
类 ReadmeDropActionDelegate 实现 IDropDelegate。每次在工作台中执行放下操作时,会通知 IDropDelegates。此操作的扩展点是 org.eclipse.ui.dropActions。