Плагин, модуль компиляции - PullRequest
0 голосов
/ 18 мая 2018

Я создаю некоторый плагин, чтобы всплывающее меню отображалось только в том случае, если выбран файл .java, содержащий класс.Моя проблема в том, что когда я выбираю .java файл, появляется меню, но также когда я выбираю класс в .java файле (IType), также появляется меню.Я хочу, чтобы он отображался только при выборе файла .java (модуль компиляции)

Пример: example.

Мой код xml: `

<menuContribution
        allPopups="true"
   locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions"
        >
     <menu
           id="org.plugin.generate_test.handlers.menus.popupTestMenu2"
           label="Generate"
           mnemonic="P2">
        <command
              commandId="org.plugin.generate_test.handlers.commands.generateCommand"
              id="org.plugin.generate_test.handlers.menus.generateCommand"
              mnemonic="PC2"
              style="push">
           <visibleWhen
                 checkEnabled="false">
              <with
                    variable="activeMenuSelection">
                 <iterate
                       ifEmpty="false">
                    <adapt
                          type="org.eclipse.core.resources.IResource">
                       <test
                             property="org.eclipse.core.resources.extension"
                             value="java">
                       </test>
                    </adapt>
                 </iterate>
              </with>
           </visibleWhen>
        </command>
     </menu>
  </menuContribution>`

1 Ответ

0 голосов
/ 18 мая 2018

Попробуйте заменить <adapt на тест ICompilationUnit:

<instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
...