【问题标题】:RCP SaveAndRestore does not reopen viewsRCP SaveAndRestore 不会重新打开视图
【发布时间】:2011-09-27 10:40:17
【问题描述】:

我有一个 RCP 应用程序。它的默认透视图在与编辑器区域相关的左侧和底部打开两个视图。 SaveAndRestore 选项设置为 true。 下次启动应用程序时,两个视图都将关闭。为什么?我做错了什么?

【问题讨论】:

  • 您的 RCP 应用程序使用的是什么版本的 Eclipse?
  • 好的,我看到了 Indigo 的一个错误,但它不适用于您的 Eclipse 版本。
  • 目前没有建议,但 Alexander 的“回答”(在您回复之前对我的更多评论)有其优点。

标签: eclipse-rcp rcp


【解决方案1】:

看来,我的身份证有问题。重新创建了一些并检查了它们。现在一切正常。

【讨论】:

    【解决方案2】:

    我假设您手动关闭了视图。使用命令 org.eclipse.ui.window.resetPerspective 将透视图重置为其初始状态,或在启动配置中为工作区使用“清除”标志。

    【讨论】:

    • 不,我正在做一个干净的启动。然后视图由默认透视图创建。然后我重新启动应用程序并且视图消失了。我没有对这些观点做任何事情。
    • 尝试从vogella.de/articles/EclipseRCP/article.html重建视图示例并将其与您的示例进行比较。
    【解决方案3】:

    您是否为您的视图实现了 saveState(memento) 和 init(IViewSite site, IMemento memento)?

    【讨论】:

    • 不,但是如果提到的方法没有被覆盖,不应该由超类处理吗?
    • 好吧,如果你直接从ViewPart继承,那么上面提到的方法就没有实现了。可以肯定的是,它已正确持久化,您可以查看您的 workbrench.xml,它位于运行时文件夹 \.metadata\.plugins\org.eclipse.ui.workbench 中,然后是“视图”部分并尝试找出具有适当 id 的“视图”部分。
    • 视图被称为“dev.auspex.test.view”和“dev.auspex.test.view2”。我认为他们的坚持是正确的......这是我的Workbench.xml
    • 从提供的 workbrench.xml 中可以看出,您的 部分是空的,这意味着您没有任何持久视图,您的 id-s 用于其他部分,像布局。没有什么可以处理视图持久性,因此,尝试实现我之前提到的那些方法并确保您的视图是正确持久的,应该有这样的东西: ...这里可能有些东西... 。此外,您可以尝试调试并查看它是否进入 saveState 方法。希望对您有所帮助。
    • 你有关于如何持久化视图的说明吗?
    猜你喜欢
    • 2013-11-10
    • 2019-01-19
    • 2016-08-07
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 2014-01-06
    • 1970-01-01
    相关资源
    最近更新 更多