3

Eclipse4.2のProjectExplorerでファイルに子を追加したいと思います。「マルチページエディタを使用したプラグイン」テンプレートを使用してRCPプロジェクトを作成しました。それを実行し、ウィザードを使用して既存のプロジェクトにファイルタイプ(.mpe)を追加すると、すべて正常に機能します。ここで、たとえば.h file have(2)のように、ファイルタイプ(1)にクリック可能な子を持たせたいと思います。これを行う方法?

グラフィカルな説明

4

1 に答える 1

1

「org.eclipse.ui.navigator.viewer」および「org.eclipse.ui.navigator.navigatorContent」の拡張機能を提供する必要があります。プロジェクトエクスプローラーは、ユーザーが機能を拡張できるようにする共通ナビゲーションフレームワークに基づいています。

「org.eclipse.ui.navigator.viewer」拡張機能

 <extension
          id="navigator-viewbinding"
          point="org.eclipse.ui.navigator.viewer">
       <viewerContentBinding
             viewerId="org.eclipse.ui.navigator.ProjectExplorer">
          <includes>
             <contentExtension
                   pattern="<plugin_name>.myResourceContent">
             </contentExtension>             
          </includes>
       </viewerContentBinding>      
    </extension>

そして「org.eclipse.ui.navigator.navigatorContent」拡張子

   <extension
         id="navigator-content"
         point="org.eclipse.ui.navigator.navigatorContent">
      <navigatorContent
            activeByDefault="true"
            contentProvider="MyNavigatorContentProvider"
            icon="icon.gif"
            id="myResourceContent"
            labelProvider="MyNavigatorLabelProvider"
            name="Some Name"
            priority="normal">
         <triggerPoints>
            <or>
               <and>
                  <instanceof
                        value="org.eclipse.core.resources.IFile">
                  </instanceof>
                  <test
                        property="org.eclipse.core.resources.extension"
                        value="mpe">
                  </test>
               </and>
            </or>
         </triggerPoints>
         <possibleChildren>
            <or>
               <instanceof
                     value="<Class name of possible children>">
               </instanceof>
            </or>
         </possibleChildren>      
   </extension>

クラス「MyNavigatorContentProvider」は、ファイルを解析して表示したい子を取得する必要がある「ICommonContentProvider」を実装します。クラス「MyNavigatorLabelProvider」は、ビューアで子を装飾するためのものです。

うまくいけば、このリンクが役立つはずです

于 2012-09-29T16:21:52.710 に答える