2016-12-20 7 views
0

私はこの拡張ポイントで定義されたメニューを持っています:org.eclipse.ui.menus。 ロケーションURIはpopup:org.eclipse.ui.popup.anyです。つまり、さまざまなエクスプローラビューとエディタビュー(コードのどこかを右クリック)からも表示されます。org.eclipse.ui.menusの名前フィルタ - エディタビュー用

このメニューは、一部の拡張機能に対してのみ表示します。私はgregの答えをhereから使いました。これはエクスプローラの表示に非常に適しています。 同じフィルタを使用するにはどうすればいいですかエディタビューには?

ファイルのエディタビュー(およびエクスプローラビュー)から右クリックした場合、「* .myextension」ファイルの場合にのみ表示されるように変更したいと考えています。

ありがとうございました。

フィルタを組み合わせようとしています - gregの回答に続いて、私のコードは期待通りに機能しません。これは、編集およびテストされているIResourceを取得して、アクティブなエディタの入力を取っている

<visibleWhen 
    checkEnabled="false"> 
    <with variable="activeEditorInput"> 
    <adapt type="org.eclipse.core.resources.IResource"> 
     <test 
      property="org.eclipse.core.resources.name" 
      value="*.myextension"> 
     </test> 
    </adapt> 
    </with> 
</visibleWhen> 

:あなたはのようなものを使用した「アクティブエディタ入力」をテストすることができますエディタの

 <visibleWhen 
       checkEnabled="false"> 
      <iterate 
       ifEmpty="false" 
       operator="or"> 
       <or> 
       <test 
        property="org.eclipse.core.resources.name" 
        value="*.myextension"> 
       </test> 
       </or> 
       <or> 
        <with variable="activeEditorInput"> 
        <adapt type="org.eclipse.core.resources.IResource"> 
         <test 
          property="org.eclipse.core.resources.name" 
          value="*.myextension"> 
         </test> 
        </adapt> 
        </with> 
       </or>     
      </iterate> 
     </visibleWhen> 

答えて

1

与えるかもしれない組み合わせ:

<visibleWhen 
    checkEnabled="false"> 
    <or> 
    <with variable="activeEditorInput"> 
     <adapt type="org.eclipse.core.resources.IResource"> 
      <test 
       property="org.eclipse.core.resources.name" 
       value="*.myextension"> 
      </test> 
     </adapt> 
    </with> 
    <iterate 
      ifEmpty="false" 
      operator="or"> 
     <test 
      property="org.eclipse.core.resources.name" 
      value="*.myextension"> 
     </test> 
    </iterate> 
    </or> 
</visibleWhen> 
+0

グレッグは、迅速な答えてくれてありがとう。これらの2つのフィルタ(「activeEditorInput」およびここではhttp://stackoverflow.com/questions/19776876/name-filter-for-eclipse-ui-menus?noredirect=1&lq=1)をどのように組み合わせることができますか? –

+0

テストを組み合わせるのに ' ...'を使うことができます。 –

+0

私はまだそれを動作させることができません。私の元の質問を見てください。私は自分のコードでそれを更新しました。 –

関連する問題