【发布时间】:2013-01-24 20:05:11
【问题描述】:
是否可以在我的 Eclipse-RCP 产品中覆盖内置透视图的布局?
特别是,我希望添加一个自定义视图并更改 Debug 透视图的布局。我知道如何使用自定义透视图 (IPerspectiveFactory.createInitialLayout())。我希望我的自定义布局是永久的 - 在“重置透视图”命令中幸存下来。
【问题讨论】:
标签: eclipse-rcp
是否可以在我的 Eclipse-RCP 产品中覆盖内置透视图的布局?
特别是,我希望添加一个自定义视图并更改 Debug 透视图的布局。我知道如何使用自定义透视图 (IPerspectiveFactory.createInitialLayout())。我希望我的自定义布局是永久的 - 在“重置透视图”命令中幸存下来。
【问题讨论】:
标签: eclipse-rcp
创建一个实现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)
来源:
要了解如何使用此扩展点的更多信息,请查看here。 对于这个扩展点的配置标记你也可以看看this page.
【讨论】:
createInitialLayout()
org.eclipse.debug.internal.ui.DebugPerspectiveFactory 类?您必须在您的 plugin.xml 中添加依赖项 org.eclipse.debug.ui 才能访问此类。 (这是我最后的想法)