示例 - 自述文件工具

简介

自述文件编辑器说明如何定义您自己的扩展点以供其他插件使用。它还说明如何为资源弹出菜单条目、新资源向导、某个扩展名(.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。在 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。每次在工作台中执行放下操作时,都会通知 IDropDelegates。此操作的扩展点是 org.eclipse.ui.dropActions。