如何在 RCP 应用程序中关闭视图?

How to close a view in in RCP Application?

我有一个具有观看次数的 RCP 应用程序。有一个 'Welcome' 视图和其他视图。每当我 select 'Welcome' 查看时,其他视图都使用代码关闭,

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().hideView(viewID); 

(注意:其他插件的依赖被添加到存在'Welcome'视图的插件中。)

同样,当我 select 来自 coolbar 或显示视图对话框的任何其他视图时,我想关闭 'Welcome' 视图。问题是,如果我通过添加依赖项使用与上面相同的代码,它会导致我的应用程序出现循环依赖并引发错误。如何做到不造成循环依赖?

这是关闭视图的正确代码。

您不需要使包含视图的 plug-in 成为执行关闭的 plug-in 的依赖项。您只需要视图 ID。

循环依赖意味着你有两个 plug-ins A 和 B,A 依赖于 B,B 依赖于 A。这是不允许的,因为没有办法干净地构建 plug-ins .您需要更改依赖项以删除循环。