Eclipse插件开发:同文件夹下显示View

Eclipse Plugin Development: Display View under same folder

我有一个有两个视图的插件。目前,如果我想添加视图,我会转到 Window -> 显示视图 -> 其他。

问题是,这两个视图显示在不同的文件夹下(ImageView 和 MemoryView)。如何让它们显示在同一个文件夹下?

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

   <extension
         point="org.eclipse.ui.views">
      <category
            name="ImageView"
            id="ImageView">
      </category>
      <view
            name="ImageView"
            icon="icons/sample.gif"
            category="ImageView"
            class="imageplugin.views.ImageView"
            id="imageplugin.views.ImageView">
      </view>
   </extension>
     <extension
         point="org.eclipse.ui.views">
      <category
            name="MemoryView"
            id="MemoryView">
      </category>
      <view
            name="MemoryView"
            icon="icons/sample.gif"
            category="MemoryView"
            class="imageplugin.views.MemoryView"
            id="imageplugin.views.MemoryView">
      </view>
   </extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="org.eclipse.jdt.ui.JavaPerspective">
         <view
               ratio="0.5"
               relative="org.eclipse.ui.views.ProblemView"
               relationship="right"
               id="imageplugin.views.ImageView">
         </view>
         <view
               ratio="0.5"
               relative="org.eclipse.ui.views.ProblemView"
               relationship="right"
               id="imageplugin.views.MemoryView">
         </view>
      </perspectiveExtension>
   </extension>
   <extension
         point="org.eclipse.help.contexts">
      <contexts
            file="contexts.xml">
      </contexts>
   </extension>

</plugin>

您的视图 org.eclipse.ui.views 定义通过定义两个不同的 category 条目要求视图属于不同的类别。只需为两个视图使用一个类别即可将它们一起显示,您无需为每个视图定义单独的类别:

<extension
     point="org.eclipse.ui.views">
  <category
        name="My Category"
        id="my.view.category">
  </category>
  <view
        name="ImageView"
        icon="icons/sample.gif"
        category="my.view.category"
        class="imageplugin.views.ImageView"
        id="imageplugin.views.ImageView">
  </view>
  <view
        name="MemoryView"
        icon="icons/sample.gif"
        category="my.view.category"
        class="imageplugin.views.MemoryView"
        id="imageplugin.views.MemoryView">
  </view>
</extension>