通过添加到 org.eclipse.ui.perspectiveExtensions 扩展点, 插件可以将操作集、视图和各种快捷方式添加到透视图中。
在将插件向现有透视图作添加时,以上讨论的关于操作集、 向导条目、视图布局、视图快捷方式和透视图快捷方式的概念也适用。一个重要的区别就是这些项是在 plugin.xml 标记中指定的, 而不是将它们配置到 IPageLayout 中。
以下标记说明 JDT 如何扩展平台的调试透视图。
<extension
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension
targetID="org.eclipse.debug.ui.DebugPerspective">
<actionSet id="org.eclipse.jdt.ui.JavaActionSet"/>
<view id="org.eclipse.jdt.debug.ui.DisplayView"
relative="org.eclipse.debug.ui.InspectorView"
relationship="stack"/>
</perspectiveExtension>
</extension>
targetID 是扩展正在向其添加的透视图的标识。指定 perspectiveShortcut 则表示应该将另一个透视图(由 id 来指定) 添加到目标透视图的透视图 -> 打开菜单中。这类似于在 IPerspectiveFactory 中的初始透视图定义中调用 IPageLayout.addPerspectiveShortcut。actionSet 参数标识先前声明的应该添加到目标透视图中的操作集的 id。这类似于在 IPerspectiveFactory 中使用 IPageLayout.addActionSet。
为透视图添加视图更棘手,原因是必须声明透视图页面布局信息。除了提供所提供的视图的 id 之外, 必须将透视图中已经存在的视图(relative 视图)的标识指定为放置新视图的参考点。 relationship 参数指定新视图和 relative 视图之间的布局关系。值 stack 指示视图将与文件夹中的相对视图叠放在一起。
还可以指定left、right、top 或 bottom, 它们指示将把新视图放置在 relative 视图的旁边。在此情况下,必须指定 0.0 到 1.0 之间的一个比例, 它表示 relative 视图中将分配给新视图的区域所占的百分比。
插件还可以相似的方式添加视图快捷方式和新建向导快捷方式。有关扩展点的完整定义,参见 org.eclipse.ui.perspectiveExtensions。