Java 开放式并行编辑器

Java 开放式并行编辑器,java,eclipse-rcp,Java,Eclipse Rcp,在RCP应用程序中打开多个编辑器时遇到问题。正如我所知,只有一个UI线程绘制GUI 在我的用例中,我必须同时打开大约50个编辑器,这需要一些时间,因为在打开所有编辑器之前会阻塞UI线程。在我的编辑器中加载数据是通过作业完成的 我尝试搜索是否有某种机制来并行化打开以不阻止UI线程,但没有找到任何东西。有没有可能这样做?如果每个编辑器都在自己的UI线程中打开/绘制,这将非常有用,这样用户就可以使用这些打开的编辑器了。我想您已经回答了您的问题-Eclipse RCP应用程序中只有一个UI线程。您可能希

在RCP应用程序中打开多个编辑器时遇到问题。正如我所知,只有一个
UI线程
绘制GUI

在我的用例中,我必须同时打开大约50个编辑器,这需要一些时间,因为在打开所有编辑器之前会阻塞UI线程。在我的编辑器中加载数据是通过作业完成的


我尝试搜索是否有某种机制来并行化打开以不阻止UI线程,但没有找到任何东西。有没有可能这样做?如果每个编辑器都在自己的UI线程中打开/绘制,这将非常有用,这样用户就可以使用这些打开的编辑器了。

我想您已经回答了您的问题-Eclipse RCP应用程序中只有一个UI线程。您可能希望重新考虑您的应用程序设计,并尽可能使用延迟加载机制(组合框、查看器等),或者尝试找到一些地方,在这些地方,数据加载需要更多的时间并可以进行优化,但编辑器的可视化初始化仍将需要一些时间,特别是在同时打开多个编辑器的情况下

您可以在ide产品中使用
org.eclipse.ui.ide.ide.openEditors(IWorkbenchPage,IFile[])
或在RCP产品中使用“org.eclipse.ui.IWorkbenchPage.openEditors(IEditorInput[],String[],int)”,以推迟打开编辑器的成本。从Eclipse3.5开始,这两种方法都可用

它根据请求为编辑器创建所有选项卡,但它只具体化最终处于活动状态的编辑器。它提供的行为与用户关闭并重新打开eclipse时打开多个编辑器(仅具体化可见编辑器)的行为相同

有关更多信息,请参阅IWorkbenchPage的javadoc


PW

谢谢。然后必须调整用例,但这应该是可能的。@Floradu88请停止对非代码的单词进行随机“代码突出显示”编辑。我正在删除这些编辑并拒绝我看到的新编辑。听起来很有用。这个方法在Eclipse3.6中可用吗?我没有找到任何API。你能提供一些链接吗?