示例 - 自述文件工具

简介

自述文件编辑器显示如何定义您自己的扩展点以供其它插件使用。它还显示如何创建资源弹出菜单项扩展、新资源向导、某一扩展(.readme)的文件编辑器、定制视图和属性页。

运行示例

要开始使用此示例,使用文件创建向导创建一个 .readme 扩展名的文件,或使用示例创建向导创建一个文件。通过选择“窗口”>“显示视图”>“其它”并展开“自述文件”部分,可看到此示例提供的其它视图。通过单击“导航器”视图上的自述文件图标,可看到该视图操作。

创建新的自述文件

创建一个文件扩展名为 .readme 的新文件。从“文件”菜单中选择“新建”,然后从子菜单中选择“其它...”。单击向导中的“示例”,然后在左边的列表中选择“文件”。单击“下一步”以提供文件名(确保扩展名是 .readme)以及此文件所在的文件夹。

示例创建向导

从“文件”菜单选择“新建”,然后从子菜单选择“示例...”。现在,选择“示例创建向导”。选择“自述文件”。单击“下一步”。选择要在其中创建该文件的文件夹。输入扩展名为 .readme 的文件的名称。单击“完成”。

自述文件视图扩展操作

在“导航器”视图中,选择 .readme 扩展名的文件。如果没有这样的文件,则创建一个带该扩展名的文件。在“导航器”的本地工具栏中,将看到一个悬浮式帮助显示为“运行自述文件视图扩展”的按钮。单击此按钮。将弹出一个对话框,上面显示“已执行的视图操作”。

弹出菜单

在“导航器”视图中,选择 .readme 扩展名的文件。如果没有这样的文件,则创建一个带该扩展名的文件。选择该文件以显示弹出菜单。请注意,在弹出菜单中有一个菜单项显示“显示自述文件操作”。选择此菜单项以打开一个对话框,上面显示“已执行的弹出菜单操作”。

首选项页

从“窗口”菜单中选择“首选项”。单击名为“自述文件示例”的页面。它显示首选项页的示例。

属性页

在“导航器”视图中,选择 .readme 扩展名的文件。如果没有这样的文件,则创建一个带该扩展名的文件。选择该文件以显示弹出菜单,然后选择“属性”菜单项。单击名为“自述文件工具”的页面以查看属性页的示例。

自述文件编辑器

“自述文件编辑器”是 *.readme 文件类型的缺省编辑器。创建一个扩展名为 .readme 的文件,然后通过双击该文件来打开它,或通过另一种方式打开它,即显示弹出菜单,选择“打开方式”,然后从子菜单选择“自述文件编辑器”即可。请注意,该编辑器有一个铅笔图标。它是缺省情况下,自述文件工具用于 *.readme 文件类型的编辑器。

自述文件编辑器操作

它演示了仅适用于某一特定编辑器的操作示例。当自述文件编辑器具有焦点时,请注意 4 个附加的工具栏按钮 - 运行自述文件编辑器扩展、自述文件编辑器操作 1、自述文件编辑器操作 2 和自述文件编辑器操作 3。

当自述文件编辑器具有焦点时,显示名为“自述文件”的下拉菜单。它包含先前描述的操作:自述文件编辑器操作 1、自述文件编辑器操作 2 和自述文件编辑器操作 3。

自述文件部分视图

要查看此“自述文件部分”视图,从“窗口”菜单选择“显示视图”,然后从子菜单中选择“其它...”。展开“自述文件”项,然后选择“自述文件部分”。这将显示在“导航器”视图中选择了某一 .readme 文件的情况下,当前 *.readme 文件中的部分列表。您还可以在“大纲”视图中查看 *.readme 文件的结构。

当每个部分以数字开头时,扩展名为 .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.

拖放

通过在“大纲”视图中选择某一部分并在文本文件的顶部上拖动所选内容,可看到“拖放”功能。所选内容将追加到该文件。

帮助添加项

自述文件工具示例还演示了如何在它提供的所有扩展(即视图、各种操作和向导页)上使用和实现上下文帮助。要获取某一操作的上下文帮助,将鼠标悬浮在菜单项上,但不选择它,然后按 F1 键。您还可以获取有关“自述文件部分”视图和“示例创建向导”页(在“新建”向导中)的上下文相关(F1)帮助。
 

详细信息

自述文件工具示例声明一个扩展点,并提供大量扩展。由于提供的扩展利用了工作台所声明的大量更有吸引的扩展点,因此对了解工作台如何工作更全面。此示例中提供的扩展有视图和视图操作、首选项页、属性页、向导、编辑器和编辑器操作、弹出菜单、操作集、帮助添加项、帮助上下文和放下操作。

此示例还提供了插件中声明的扩展点。对于任何使用此示例定义的 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。