visibleWhen para o comando aparecer no menu de contexto

Estou tentando configurar a visibilidade de um comando no menu de contexto usando a expressão 'visibleWhen' em um menuContribution. O que estou tentando fazer é tornar o comando visível no menu de contexto somente se você:

Clique com o botão direito do mouse em certos tipos de arquivo (recursos) na exibição de recurso (ou exibição de pacote) Clique com o botão direito do mouse no editor apropriado que possui o tipo de arquivo aberto. Ele pode detectar que meu editor está aberto ou que o editor tem um determinado recurso abert

Eu realizei o primeiro usando a seleção 'visibleWhen'> '(com)'> 'iterate'> 'org.eclipse.core.resources.IResource (adap)' e verifique a extensão do arquivo para o recurso. O código está listado abaixo. No entanto, não sei como obter o mesmo comando para aparecer apenas quando você clica com o botão direito do mouse no editor correto que possui um arquivo aberto com as extensões corretas - ext1, ext

Verificar se meu editor está ativo resolve o segundo problema, mas parece não ajudar, pois se eu clicar em arquivos que não são do meu tipo, ele ainda mostrará o comando no menu de context

Alguma recomendação? O "Eclipse Plug-ins (3rd Edition)" mostra algum exemplo para o menu de contexto do editor, mas ele usa ações e eu quero ficar com os comandos.

Obrigado!

  <menuContribution
        allPopups="false"
        locationURI="popup:org.eclipse.ui.popup.any?before=additions">
     <separator
           name="com.test.ide.separator1"
           visible="true">
     </separator>
     <menu
           icon="icons/sample.gif"
           label="Test Menu">
        <command
              commandId="com.test.commands.testCommand1"
              icon="icons/sample.gif"
              label="testCommand1"
              style="push"
              tooltip="This is a test command">
           <visibleWhen
                 checkEnabled="false">
              <with
                    variable="selection">
                 <iterate
                       ifEmpty="false"
                       operator="or">
                    <adapt
                          type="org.eclipse.core.resources.IResource">
                       <or>
                          <test
                                property="org.eclipse.core.resources.extension"
                                value="ext1">
                          </test>
                          <test
                                property="org.eclipse.core.resources.extension"
                                value="ext2">
                          </test>
                       </or>
                    </adapt>
                 </iterate>
              </with>
           </visibleWhen>
        </command>
     </menu>
  </menuContribution>

questionAnswers(3)

yourAnswerToTheQuestion