org.eclipse.ui.perspectiveExtensions
Plug-ins can add their own action sets, views, and various shortcuts to existing
perspectives by contributing to the
org.eclipse.ui.perspectiveExtensions
extension point.
The contributions that can be defined for new perspectives (action sets, wizard entries, view layout,
view shortcuts, and perspective shortcuts) can also be supplied for
an existing perspective. One important difference is that these
contributions are
specified in the plugin.xml markup instead of
configuring them into an
IPageLayout.
The following markup shows how the JDT extends the platform's debug
perspective.
<extension point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension
targetID="org.eclipse.debug.ui.DebugPerspective">
<actionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
<view id="org.eclipse.jdt.debug.ui.DisplayView"
relative="org.eclipse.debug.ui.ExpressionView"
relationship="stack"/>
<view id="org.eclipse.jdt.ui.PackageExplorer"
relative="org.eclipse.debug.ui.DebugView"
relationship="stack"
visible="false"/>
<view id="org.eclipse.jdt.ui.TypeHierarchy"
relative="org.eclipse.debug.ui.DebugView"
relationship="stack"
visible="false"/>
<view id="org.eclipse.search.SearchResultView"
relative="org.eclipse.debug.ui.ConsoleView"
relationship="stack"
visible="false"/>
<viewShortcut id="org.eclipse.jdt.debug.ui.DisplayView"/>
</perspectiveExtension>
</extension>
The targetID is the id of the perspective to which the plug-in is
contributing new behavior. The actionSet parameter identifies the id
of a previously declared action set that should be added to the target
perspective. This markup is analogous to using
IPageLayout.addActionSet in the
IPerspectiveFactory
.
Contributing a view to a perspective is a little more involved, since the
perspective page layout information must be declared. The visible
attribute controls whether the contributed view is initially visible when the perspective is
opened. In addition to
supplying the id of the contributed view, the id
of a view that already exists in the perspective ( a relative
view) must be specified as a reference point for placing the new view. The
relationship parameter specifies the layout
relationship between the new view and the relative
view.
- stack indicates that the
view will be stacked with the relative view in a folder
-
fast indicates that the view will be shown as a fast
view
- left, right,
top, or bottom indicate that the new view will be placed beside the relative
view. In this case, a ratio between 0.0 and 1.0 must be defined, which
indicates the percentage of area in the relative
view that will be allocated to the new view.
Specifying a perspectiveShortcut
indicates that another perspective (specified by id)
should be added to the
Window > Open Perspective...
menu of the target
perspective. This markup is analogous to calling IPageLayout.addPerspectiveShortcut
in the original perspective definition in the
IPerspectiveFactory
.
Plug-ins can also add view shortcuts and new wizard shortcuts in a similar
manner.
You can also specify one or more views as a valid showInPart. The
views should be specified by the id used in their
org.eclipse.ui.views
extension contribution. This controls which views are available as
targets in the Navigate > Show In menu. The ability to specify a
"show in" view in the extension markup allows you to add your
newly contributed views as targets in another perspective's "show in"
menus. See
Linking views andeditors for more information on "show in."
See
org.eclipse.ui.perspectiveExtensions
for a complete definition of the extension point.