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 popups 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.

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

org.eclipse.wst.sse.ui.goto.matching.bracket

org.eclipse.ui.category.edit

Navigate

SSE.ui/plugin.xml

Go To Matching Bracket

org.eclipse.wst.xml.ui.nextSibling

org.eclipse.ui.category.edit

Navigate

XML.ui/plugin.xml

Go To Next Sibling

org.eclipse.wst.xml.ui.previousSibling

org.eclipse.ui.category.edit

Navigate

XML.ui/plugin.xml

Go To Previous Sibling

org.eclipse.wst.xml.ui.gotoMatchingTag

org.eclipse.ui.category.edit

Navigate

XML.ui/plugin.xml

Go To Matching Tag

org.eclipse.jst.jsp.ui.refactor.rename

org.eclipse.ui.category.edit

Refactor

JSP.ui/plugin.xml

Rename a Java Element

org.eclipse.jst.jsp.ui.refactor.move

org.eclipse.ui.category.edit

Refactor

JSP.ui/plugin.xml

Move a Java Element to another package

Context IDs

Used to indicate when particular contexts are active.

Each context is defined by the extension point org.eclipse.ui.contexts.

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.

org.eclipse.core.runtime.xml

Editing XML Source

XML.ui/plugin.xml

Context

Context for when the XML Source editor is being used. Commands should use this when the XML-contributed handler will always be used, and to determine when they will be active, enabled, and/or visible on a menu or toolbar.

org.eclipse.wst.xml.navigation

XML Source Navigation

XML.ui/plugin.xml

Context

This context should be used to determine when XML-contributed Navigation commands should be active, enabled, and/or visible on a menu or toolbar.

org.eclipse.wst.xml.cleanup

XML Source Cleanup

XML.ui/plugin.xml

Context

This context should be used to determine when the XML-contributed Cleanup handler should be active or enabled.

org.eclipse.wst.xml.comments

XML Source Comments

XML.ui/plugin.xml

Context

This context should be used to determine when the XML-contributed Comment commands should be active, enabled, and/or visible on a menu or toolbar.

org.eclipse.wst.xml.selection

XML Source Selection

XML.ui/plugin.xml

Context

This context should be used to determine when the XML-contributed Selection handlers should be active or enabled.

org.eclipse.wst.xml.dependencies

XML Source Dependencies

XML.ui/plugin.xml

Context

This context should be used to determine when the XML-contributed Dependency commands should be active, enabled, and/or visible on a menu or toolbar.

org.eclipse.wst.xml.grammar

XML Source Grammar

XML.ui/plugin.xml

Context

This context should be used to determine when the XML-contributed Grammar Constraints commands should be active, enabled, and/or visible on a menu or toolbar.

org.eclipse.wst.xml.expand

XML Source Expand/Collapse

XML.ui/plugin.xml

Context

This context should be used to determine when the XML-contributed Expand/Collapse commands should be active, enabled, and/or visible on a menu or toolbar.

org.eclipse.wst.xml.occurrences

XML Source Occurrences

XML.ui/plugin.xml

Context

This context should be used to determine when the XML-contributed Find Occurrences handler should be active or enabled.

org.eclipse.wst.html.core.htmlsource

Editing HTML Source

HTML.ui/plugin.xml

Context

Context for when the HTML Source editor is being used. Commands should use this when the HTML-contributed handler will always be used, and to determine when they will be active, enabled, and/or visible on a menu or toolbar.

org.eclipse.wst.html.occurrences

HTML Source Occurrences

HTML.ui/plugin.xml

Context

This context should be used to determine when the HTML-contributed Find Occurrences handler should be active or enabled.

org.eclipse.jst.jsp.ui.structured.text.editor.jsp.scope

Editing JSP Source

JSP.ui/plugin.xml

Context

Context for when the JSP Source editor is being used. Commands should use this when the JSP-contributed handler will always be used, and to determine when they will be active, enabled, and/or visible on a menu or toolbar.

org.eclipse.jst.jsp.core.jspsource

Editing JSP Source

JSP.ui/plugin.xml

Context

Context for when the JSP Source editor is being used. Commands should use this when the JSP-contributed handler will always be used, and to determine when they will be active, enabled, and/or visible on a menu or toolbar.

org.eclipse.wst.css.core.csssource

Editing CSS Source

CSS.ui/plugin.xml

Context

Context for when the CSS Source editor is being used. Commands should use this when the CSS-contributed handler will always be used, and to determine when they will be 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

This will only enable the command, when the org.eclipse.wst.sse.ui.structuredTextEditorScope is one of the active contexts. Otherwise, the command will not be shown in the menu.

Activating Contexts

The activeContexts variable is responsible for controlling when many of the commands are available, active, or enabled. Just defining the context using the org.eclipse.ui.contexts, however, is not enough.
Each context must be activated for the editor using the provisionalDefinition of the extension point org.eclipse.wst.sse.ui.editorConfiguration. For more information on the editor configuration extension point, please refer to the document here. The type attribute will be "activecontexts", and the
target attribute should be the content type id of the editor for which the contexts are being activated.

The final attribute that needs to be defined is value. This attribute is a comma-separated list of contexts that should be activated for the editor. Through this attribute, the editor is also able to inherit handlers defined
by other editors. The example below is the "activecontexts" definition for the HTML editor where contexts like org.eclipse.wst.xml.navigation are declared to enable XML navigation handlers like Go To Next Sibling
without the HTML editor having to define its own handler for the command.

Note: Declaring contexts that activate different handlers for the same command can result in undesired behavior.