Eclipse rcp 覆盖Eclipse RCP产品中的内置透视图布局

Eclipse rcp 覆盖Eclipse RCP产品中的内置透视图布局,eclipse-rcp,Eclipse Rcp,在我的EclipseRCP产品中是否可以覆盖内置透视图的布局 特别是,我希望添加一个自定义视图并更改调试透视图的布局。我知道如何使用自定义透视图(IPerspectiveFactory.createInitialLayout())。我希望我的自定义布局是永久性的——在“重置透视图”命令下仍然有效 创建一个实现IPerspectiveFactory的类 将透视图扩展添加到plugin.xml。这是我的一个 <extension point="org.eclipse.ui.perspec

在我的EclipseRCP产品中是否可以覆盖内置透视图的布局


特别是,我希望添加一个自定义视图并更改调试透视图的布局。我知道如何使用自定义透视图(
IPerspectiveFactory.createInitialLayout()
)。我希望我的自定义布局是永久性的——在“重置透视图”命令下仍然有效

创建一个实现
IPerspectiveFactory
的类

将透视图扩展添加到
plugin.xml
。这是我的一个

   <extension point="org.eclipse.ui.perspectives">
       <perspective
           class="gov.bop.cobolsupport.perspectives.CobolPerspectiveFactory"
           icon="icons/ispf_editor.gif"
           id="gov.bop.cobolsupport.CobolPerspective"
           name="Cobol"/>     
   </extension>

您的用户可以更改您的透视图,如果他们愿意,还可以保存他们的更改。这是Eclipse内置的


但是,当您扩展透视图时,Reset perspective命令会将透视图重置为您在
Perspectivefactory
类中定义它的方式。

可以使用扩展点
org.eclipse.ui.perspectiveExtensions来扩展透视图

插件可以添加自己的操作集、视图和各种快捷方式 通过贡献于 org.eclipse.ui.perspectiveExtensions扩展点

要扩展默认调试透视图,请在
plugin.xml
中粘贴以下代码:

   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="org.eclipse.debug.ui.DebugPerspective">
         <view
               ratio="0.5"
               relative="org.eclipse.ui.views.TaskList"
               relationship="right"
               id="com.jens.customdebug.views.SampleView">
         </view>
      </perspectiveExtension>
   </extension>

您必须定义一个相对视图(在我的例子中是名为
org.eclipse.ui.views.TaskList
)和您自己视图的id(在我的例子中是
com.jens.customdebug.views.SampleView

来源:

要获得有关如何使用此扩展点的更多信息,请查看。
对于此扩展点的配置标记,您也可以查看

,但我不想在这里创建新的透视图,我想修改一个内置透视图(调试透视图)。您可以尝试在Eclipse RCP上修改调试透视图,在保存它时给它一个不同的名称,并查看在构建RCP产品时是否将新的透视图传递给它。否则,您将不得不创建自己的透视图。谢谢,这很有用。但是,这似乎允许向现有透视图添加视图,但不允许重新定义默认布局,如
createInitialLayout()
好的,但您可能幸运地覆盖了类
org.eclipse.debug.internal.ui.DebugPerspectiveFactory
?您必须在plugin.xml中添加依赖项
org.eclipse.debug.ui
,才能访问此类。(这是我最后的想法)