【问题标题】:How to dispose multi page editor view when Eclipse close?Eclipse关闭时如何处理多页编辑器视图?
【发布时间】:2015-07-25 10:43:18
【问题描述】:

我创建了一个多页编辑器插件,它工作正常。问题是在关闭日食并再次打开它之后。我收到了一个错误,比如未能创建部件控制。

因为 Eclipse 会话将打开的文件保存在编辑器中。所以,我想在 Eclipse 会话关闭时关闭所有在 Eclipse 中打开的多页编辑器实例。

我想在 Eclipse 关闭期间处理编辑器选项卡。

有什么建议吗?

【问题讨论】:

  • 如果您的编辑器编写正确,在 Eclipse 启动时打开它应该没有问题。
  • @greg-449 :我的编辑器使用了所选文件中的一些数据。但是在eclipse会话关闭后我没有保留数据。但是打开eclipse后,编辑器就会在那里。所以它需要数据。哪个不可用。
  • 所以,我需要在 Eclipse 会话结束时关闭编辑器选项卡,是否可以这样做?
  • 如果这是您的 RCP 和您自己的 WorkbenchAdvisor,您可以使用 WorkbenchAdvisor preShutdown 方法。
  • 如果是您的编辑器实现,只需覆盖编辑器的 dispose() 方法并添加必要的清理代码。 Eclipse 关闭时会调用 dispose() 方法。

标签: eclipse-plugin eclipse-rcp eclipse-pde


【解决方案1】:

您可以使用IWorkbenchListener 来监听正在关闭的工作台您可以在preShutdown 方法中关闭您的编辑器:

PlatformUI.getWorkbench().addWorkbenchListener(new IWorkbenchListener()
 {
   @Override
   public boolean preShutdown(IWorkbench workbench, boolean forced)
   {
     // TODO close editors
     return true;
   }

   @Override
   public void postShutdown(IWorkbench workbench)
   {
   }
 });

【讨论】:

  • 这是个坏主意。编辑器必须自己解决这个问题,因为可以将编辑器安装到不存在此工作台侦听器的其他应用程序中。因此,在编辑器中覆盖 dispose() 或修改此特定编辑器的 EditorInput 对我来说似乎更有用。
  • @Bananeweizen 我告诉 OP 在 3 年前的 cmets 中
猜你喜欢
  • 1970-01-01
  • 2016-09-19
  • 2014-02-02
  • 2023-03-18
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多