Time for action – enabling and disabling menus items

The previous section showed how to hide or show a specific KeyBinding depending on the open editor type. However, it doesn't stop the command from being called via the menu, or from it showing up in the menu itself. Instead of just hiding the KeyBinding, the menu can be hidden as well by adding a visibleWhen block to the command.

The expressions framework provides a number of variables, including activeContexts, which contains a list of the active contexts at the time. Since many contexts can be active simultaneously, the active contexts is a list (for example, [dialogAndWindow,window,textEditor,javaEditor])—so to find an entry (in effect, a contains operation), an iterate with equals expression ...

Get Eclipse Plug-in Development Beginner's Guide - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.