繁体   English   中英

从Eclipse Juno开始,在RCP应用程序中切换透视图?

[英]Switch perspective in a RCP application since Eclipse Juno?

在我的RCP应用程序中,我使用此代码切换透视图:

IWorkbenchWindow window = getViewSite().getWorkbenchWindow();
window.getWorkbench().showPerspective(PRODUCT_PERSPECTIVE_ID, window);

我没有更改我的代码,但我改变了我的开发环境

java 6 64bits + windows + Eclipse Indigo

java 7 32bits + windows + Eclipse Juno

现在,透视图不再切换,没有异常,并且在调试中没有任何可疑内容。

我没有找到任何错误报告。

有解释吗? 解决方法?

我也遇到过这个问题。 据我所知,这是Juno(4.2.0)的回归。 我使用调试器逐步调用showPerspective() 在任何时候都没有任何明确的尝试来实际改变观点。 也许有一个内部事件监听器丢失,或者新框架的showPerspective()端口可能不完整。

作为解决方案,以下代码成功地改变了我的观点:

IWorkbenchWindow window = getViewSite().getWorkbenchWindow();
IPerspectiveRegistry registry = workbench.getPerspectiveRegistry();
IWorkbenchPage page = window.getActivePage();
page.setPerspective(registry.findPerspectiveWithId(PRODUCT_PERSPECTIVE_ID));

根据进行这些调用的上下文,您可能希望对其中一些调用进行空值保护,或者检查Workbench.isClosing()是否安全。

这是错误https://bugs.eclipse.org/bugs/show_bug.cgi?id=395084并修复了Eclipse Luna,计划于6月发布。

这是一个旨在澄清和解决我的问题的答案:

使用Eclipse 4 IDE,构建在Eclipse 4之前开发的RCP应用程序,集成Java 7功能并与Windows 32位兼容。 当然能够切换视角。

这个答案并没有解决那些想要在RCP应用程序中切换透视图并使用新Eclipse 4平台的功能或外观(不要与Eclipse 4 IDE混淆)的人的问题。 但我不推荐它,至少对于一个旧的应用程序(在Eclipse 3上开发),给出:

  • 这太慢了,它使应用程序几乎无法使用
  • 有许多图形故障
  • 有一些错误,其中一个是与透视切换相关的错误

对于这3点,我不能说它是由于Eclipse 4平台还是Eclipse 3兼容层。 我希望专门为新的Eclipse 4平台开发的新应用程序能够正确运行。

所以我的解决方案是定义一个Eclipse 3目标并将其用于构建。

这是完整的程序:

  1. 安装了JDK 7(32位版本)
  2. 安装Eclipse 3.7(32位版本)
  3. 安装Eclipse 4(32位版本)
  4. 启动Eclipse 4并导入所需的项目
  5. 转到窗口/首选项/插件开发/目标平台
  6. 点击“添加”,然后点击“没什么”
  7. 单击“添加”,然后单击“安装”,并选择Eclipse 3.7目录
  8. 创建目标后,选择它(仍在Window / Preferences / Plug-in Development / Target Platform中)

现在,在您的.product ,“Eclipse Product Export Wizard”将构建一个Eclipse 3可执行文件。

实用说明:

  • “干净所有”是不够的,我不得不停止/重启Eclipse以使其在目标选择后工作
  • 安装过程在我的.product字段上删除了一些。 我不得不重置ID并检查“该产品包含原生的laucher工件”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM