我需要在我的 eclipse-rcp 应用程序中添加一个导入向导。为此,我想将现有向导仅用于我的类别。我在 Internet 上找到了几个示例,但它们并没有多大帮助。
我的问题是我不仅有我的类别,还有一般类别。如果可能的话,我想删除它。其实我找到了一个解决方案here ,但它似乎不起作用。我试图将提供的代码片段放入 WorkbrenchWindowAdvisor 和 ActionBarAdvisor 中,甚至在创建我的向导之前执行它,但仍然存在具有 5 个可能向导的常规类别。有什么建议,如何删除它或至少隐藏它?
BR, AlexG.
最佳答案
您可以使用 org.eclipse.ui.activities
选择哪些贡献在您的 RCP 应用程序中可见具有适当 activityPatternBinding
的扩展点(尽管他们在您链接的页面上说了什么)。
使用这个扩展点,您可以定义一个 Activity ,其模式匹配除您自己的贡献之外的任何内容(例如 pattern="[^\.]++\.(?!myplugin).*"
匹配 ID-s 不以 com.myplugin 开头的贡献)。此 Activity 在未启用时将从 UI 中排除除您自己之外的所有贡献。
对于另一个 Activity ,您将定义一个模式,其中包括您希望从其他插件中包含的贡献(例如,pattern=".*file\.import"
匹配 Import...文件菜单中的菜单项)。这是您将在 WorkbenchAdvisor
中启用的 Activity 使用
PlatformUI.getWorkbench().getActivitySupport().setEnabledActivityIds(...);
请注意,此特定解决方案将禁用(几乎)所有 Eclipse 贡献,除了 File > Import... 如果您想启用大量功能并仅禁用小部分功能,则需要进行大量挖掘。但最有可能找出正确的模式来实现这一目标。
关于java - 如何从 Eclipse-RCP 中的导入向导中删除类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8112012/