2016-03-22 2 views
0

Я разрабатываю плагин Eclipse, который принимает в качестве входных данных некоторые .java-файлы. Поскольку эти файлы могут быть много и обычно содержатся в одном пакете, я хочу показать всплывающее меню, когда я нажимаю правой кнопкой мыши на содержащий пакет в Проводнике пакетов. я был в состоянии найти следующий пример в Интернете, который показывает всплывающее меню, только если выбран .java файл:Всплывающее меню плагина Eclipse появляется только при выборе папки

... 
<command 
    commandId = "AppAnalyzer.CodeToSrcML" 
    label="Code to srcML" 
    style="push" 
    tooltip="Transforms all the files in the folder"> 
    <visibleWhen> 
    <with variable="activeMenuSelection"> 
     <iterate ifEmpty="false"> 
     <adapt type="org.eclipse.core.resources.IResource"> 
      <test property="org.eclipse.core.resources.name" value="*.java" /> 
     </adapt> 
     </iterate> 
    </with> 
    </visibleWhen> 
</command> 
... 

(я опустил менее соответствующие части файла, полный код here)

Он работает, и я пытаюсь изменить его в соответствии с моими потребностями, но я понятия не имею, какое свойство следует тестировать, чтобы проверить, является ли выбранный ресурс пакетом. Может ли кто-нибудь указать мне, какую собственность мне следует тестировать?

ответ

1

Вместо adapt использования что-то вроде:

<or> 
    <instanceof value="org.eclipse.jdt.core.IPackageFragment"/> 
    <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/> 
</or> 
+0

Это работает, спасибо! –

Смежные вопросы