【问题标题】:Eclipse dsl application cannot hide unused perspectiveEclipse dsl 应用程序无法隐藏未使用的透视图
【发布时间】:2015-02-11 11:30:45
【问题描述】:

我正在开发为内部 DSL 提供 IDE 的 eclipse 应用程序。 DSL 基础设施由 xtext(2.7.3) 平台生成。我想隐藏一些对我的应用程序的最终用户无用的观点(Java、Debug、PDE 等)。我通过活动找到了一种方法。我创建了 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)。

【问题讨论】:

    标签: java eclipse eclipse-rcp dsl


    【解决方案1】:

    您的enabledWhen 无效,请删除它。除非您为活动指定 defaultEnablement 条目,否则它默认被禁用。

    您可以通过编程方式使用:

    IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport();
    
    IActivityManager activityManager = workbenchActivitySupport.getActivityManager();
    

    要获得活动支持和活动管理器界面,这些界面可以让您对活动进行一些控制 - 但您仍然需要在 plugin.xml 中定义它们

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多