gpt4 book ai didi

java - Eclipse dsl 应用程序无法隐藏未使用的透视图

转载 作者:太空宇宙 更新时间:2023-11-04 14:09:56 24 4
gpt4 key购买 nike

我正在开发 Eclipse 应用程序,为内部 DSL 提供 IDE。 DSL基础设施是由xtext(2.7.3)平台生成的。我想隐藏一些对我的应用程序的最终用户没有用的视角(Java、调试、PDE 等)。我通过 Activity 找到了一种方法。我创建了以下plugin.xml 片段

<extension
point="org.eclipse.ui.activities">
<activity id="hauweg" name="hauweg-den-xxxx">
<!-- this makes sure the matching stuff will never be enabled -->
<enabledWhen>
<with variable="true">
<equals value="false"/>
</with>
</enabledWhen>
</activity>
<!-- match all perspectives except org.eclipse.ui.resourcePerspective -->
<activityPatternBinding activityId="hauweg" pattern=".*DebugPerspective"/>
<activityPatternBinding activityId="hauweg" pattern=".*JavaPerspective"/>
<activityPatternBinding activityId="hauweg" pattern=".*JavaHierarchyPerspective"/>
<activityPatternBinding activityId="hauweg" pattern=".*JavaBrowsingPerspective"/>
<activityPatternBinding activityId="hauweg" pattern=".*PDEPerspective"/>
<activityPatternBinding activityId="hauweg" pattern=".*TeamSynchronizingPerspective"/>
</extension>
  1. xxx.xxx.xxx.ui插件该插件大部分由xtext平台生成
  2. xxx.xxx.xxx.product 插件,包含产品 eclipse 配置

我尝试将提到的片段放入两个plugin.xml中,但这对我没有帮助。我还想了解以下内容:

  1. 我可以仅通过编程方式完成此操作吗?
  2. 我可以仅通过声明方式来完成吗?
  3. 我应该使用上述两种方式吗?
  4. 哪个插件应包含此声明?

我使用 Eclipse 4 (Luna)。

最佳答案

您的 enabledWhen 无效,请将其删除。除非您为 Activity 指定 defaultEnablement 条目,否则它默认处于禁用状态。

以编程方式,您可以使用:

IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport();

IActivityManager activityManager = workbenchActivitySupport.getActivityManager();

获得 Activity 支持和 Activity 管理器接口(interface),让您对 Activity 进行一些控制 - 但您仍然需要在plugin.xml中定义它们

如果您正在制作 Eclipse RCP,您可能可以在 RCP 构建中不包含 JDT 和其他插件。在这种情况下,您将不需要抑制视角。

关于java - Eclipse dsl 应用程序无法隐藏未使用的透视图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28453241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com