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 is used. Although it's possible to copy and paste expressions between places where they are used, it is preferable to reuse an identical expression.
Open the
plugin.xml
file, and add declare an expression using the expressions extension point as...