The org.eclipse.ui.menus extension point allows for the definition of menus that other plugins can contribute too. See [[Menu Contributions]] and [http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/workbench_cmd.htm Basic Workbench Extensions using Commands] for more information specifically for working with org.eclipse.ui.menus, org.eclipse.ui.commands, and org.eclipse.ui.handlers ([[Platform Command Framework]]).

The org.eclipse.ui.menus extension point allows for the definition of menus that other plugins can contribute too. See [[Menu Contributions]] and [http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/workbench_cmd.htm Basic Workbench Extensions using Commands] for more information specifically for working with org.eclipse.ui.menus, org.eclipse.ui.commands, and org.eclipse.ui.handlers ([[Platform Command Framework]]).

−

In addition, controlling when a menu or command is available can be implemented with [[Command Core Expressions]].

+

In addition, controlling when a menu or command is available can be implemented with [[Command Core Expressions]].

<table border="1">

<table border="1">

Line 75:

Line 75:

</table>

</table>

<br/>

<br/>

+

+

A list of Structured Text Editor menu Ids and the format of the ids can be found on the [http://www.eclipse.org/webtools/wst/components/sse/overview.html Structured Source Editing Component] page.

<table border="1">

<table border="1">

Line 91:

Line 93:

<td>A general source main menu that can be contributed to from other plug-ins.</td>

<td>A general source main menu that can be contributed to from other plug-ins.</td>

</tr>

</tr>

+

<tr>

+

<td>org.eclipse.core.runtime.xml.source.EditorContext</td>

+

<td>Source</td>

+

<td>SSE.ui/plugin.xml</td>

+

<td>Popup Menu</td>

+

<td>Source Editors popup menu.</td>

+

</tr>

+

</table>

</table>

Revision as of 20:05, 19 December 2007

Contents

Introduction

There are a vast number of ids that are used within the WTP. Every command, content-type, action, menu, etc has an id that is associated with it. This page will try to keep up to date with the various ids, where they can be found, and what they correspond too.

It is important to document the usage of the ids, especially when they relate to menus, toolbars, commands, and popus as the org.eclipse.ui.menus extension point allows for other plugins to contribute to menus based off the ids that are published. Commands are also referenced by id, and are implemented based on handlers.

Eclipse 3.3 introduced the org.eclipse.ui.menus extension point, this is to eventually replace the 4 contribution points that exist currently for creating menus. A detailed mapping can be found at Menus Extension Mapping. Paul Webster has created a good overview of the new org.eclipse.ui.menus extension point in his blog.

A general source main menu that can be contributed to from other plug-ins.

org.eclipse.core.runtime.xml.source.EditorContext

Source

SSE.ui/plugin.xml

Popup Menu

Source Editors popup menu.

Commands

Commands are implemented and tied to menus using handlers. They can also be tied to actionSets and have actionDelegates. If implemented using handlers, a command may have zero to many handlers, but only zero to one may be active at any given point in time. Handlers can be specified using either the org.eclipse.ui.handlers extension point or programmatically.

Id

Category Id

Menu/Toolbar

Location

Description

org.eclipse.wst.sse.ui.structure.select.enclosing

org.eclipse.ui.category.edit

Edit

SSE.ui/plugin.xml

Select Enclosing

org.eclipse.wst.sse.ui.structure.select.next

org.eclipse.ui.category.edit

Edit

SSE.ui/plugin.xml

Select Next

org.eclipse.wst.sse.ui.structure.select.previous

org.eclipse.ui.category.edit

Edit

SSE.ui/plugin.xml

Select Previous

org.eclipse.wst.sse.ui.structure.select.last

org.eclipse.ui.category.edit

Edit

SSE.ui/plugin.xml

Select Last

org.eclipse.wst.sse.ui.toggle.comment

org.eclipse.ui.category.edit

Source

SSE.ui/plugin.xml

Toggle Comment

org.eclipse.wst.sse.ui.add.block.comment

org.eclipse.ui.category.edit

Source

SSE.ui/plugin.xml

Add Block Comment

org.eclipse.wst.sse.ui.remove.block.comment

org.eclipse.ui.category.edit

Source

SSE.ui/plugin.xml

Remove Block Comment

org.eclipse.wst.sse.ui.cleanup.document

org.eclipse.ui.category.edit

Source

SSE.ui/plugin.xml

Cleanup Document

org.eclipse.wst.sse.ui.format.document

org.eclipse.ui.category.edit

Source

SSE.ui/plugin.xml

Format Document

org.eclipse.wst.sse.ui.format.active.elements

org.eclipse.ui.category.edit

Source

SSE.ui/plugin.xml

Format Active Elements

org.eclipse.wst.sse.ui.open.file.from.source

org.eclipse.ui.category.edit

Navigate

SSE.ui/plugin.xml

Open File From Source

org.eclipse.wst.sse.ui.search.find.occurrences

org.eclipse.ui.category.edit

Source

SSE.ui/plugin.xml

Find Occurrences

Context IDs

Used to indicate when particular contexts are active.

Id

Name

Location

Type

Description

org.eclipse.wst.sse.ui.structuredTextEditorScope

Editing in Structured Text Editors

SSE.ui/plugin.xml

Context

<Context for when the Structured Text Editor is being used as one of the editors. Commands should use this to determine when they are active, enabled, and/or visible on a menu or toolbar.

Bugs

The following outstanding issues need to be addressed to allow complete conversion to the new org.eclipse.ui.menus extension point:

bug 213385 - The search menu in the platform uses actionSets which aren't extensible by the org.eclipse.ui.menus extension.

Core Command Expressions

Commands, Handlers, and Menu contributions are all driven by Core Command Expressions. These allow for control of when a particular command is available in a menu, when it is active, and when it is enabled. The following are some brief examples for controlling when commands are made available based on the type of variable involved.

activeContexts

The activeContexts variable returns a list of all the activeContextsIDs