【发布时间】:2010-10-17 01:09:28
【问题描述】:
我的应用程序有 5 个插件。每个插件都有自己的透视图,因此每个透视图扩展定义都在各个插件的 plugin.xml 下。
现在,我想控制这些透视图在我的应用程序中出现的顺序。怎么做?
有一个包含“ApplicationWorkBenchAdvisor.java”的主要插件。这有 initialize() 方法,在该方法中我使用
遍历透视注册表PlatformUI.getWorkbench().getPerspectiveRegistry().getPerspectives();
然后以逗号分隔的方式将透视 id 附加到一个字符串变量(pbar),稍后会像这样使用它。
PlatformUI.getPreferenceStore().setDefault(IWorkbenchPreferenceConstants.PERSPECTIVE_BAR_EXTRAS, pbar);
PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.PERSPECTIVE_BAR_EXTRAS, pbar);
当通过透视注册表进行迭代时,我可以比较透视 id 并按照我希望它出现的方式对其进行排序(当通过比较 id 添加到“pbar”时)但是,我不想在这里进行这种排序看起来很脏。
还有其他地方可以让我们确定透视出现的顺序吗? (每个视角驻留在不同的插件中)。
添加
1) 我们也可以控制透视切换器中的顺序吗?
2) 有没有办法控制进入透视注册表以产生所需的顺序。如果不能,我们可以写回透视注册表吗?
【问题讨论】:
-
按要求添加了一些 cmets。
-
您的最后一条评论是否意味着您可以通过 setDefault() 调用在在 ini 文件中指定该顺序后设置正确的透视顺序?
-
修复我的回答中的评论,但我想它不能完全解决“透视顺序”问题,对吗?
-
感谢您的最后评论。我已经用这个澄清更新了我的条目。在我看来,这就像我们将得到的解决您问题的方法一样接近。
-
非常感谢您长期以来的帮助。还要感谢您使用来自 cmets 的信息更新您的答案。这也使其他人的答案更具可读性。是的,我想现在这是一个完整的答案,先生。
标签: eclipse-plugin eclipse-rcp