项目资源管理器,带孩子的项目

时间:2012-09-28 12:01:43

标签: eclipse eclipse-rcp rcp

我想在Eclipse 4.2的Project Explorer中将子项添加到我的文件中。我使用“带有多页面编辑器的插件”模板制作了一个RCP项目。跑吧,使用向导将我的文件类型(.mpe)添加到某个现有项目中,一切正常。现在我想允许我的文件类型(1)具有可点击的子节点,例如.h文件有(2)。这该怎么做?

Graphical explanation

1 个答案:

答案 0 :(得分:1)

您必须为“org.eclipse.ui.navigator.viewer”和“org.eclipse.ui.navigator.navigatorContent”提供扩展。 Project explorer基于通用导航框架,允许用户扩展功能。

一个例子

“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”这个类是在观众中装饰你的孩子..

希望这个link应该有所帮助