`
liugang594
  • 浏览: 990748 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

org.eclipse.ui.navigator.linkHelper的使用

阅读更多

org.eclipse.ui.navigator.linkHelper扩展点的本意是用来在Editor和Navigator之间互相选中的支持。

 

勇哥问了我这个扩展点的使用,结果我也不会用。最后勇哥找出来了为啥不能用。因为还需要定义viewContentBinding。

跟踪代码,查到了这部分源码:

 

在org.eclipse.ui.internal.navigator.extensions.Binding类中有三个变量:

 

private final Set includePatterns = new HashSet();

 

private final Set excludePatterns = new HashSet();

 

private final Map knownIds = new HashMap();

 

其中knowIds用来在存储所有org.eclipse.ui.navigator.linkHelper扩展的id;includePatterns 用于存储当前Navigator中包含的linkHelper的支持;excludePatterns包含所有当前Navigator不支持的linkHelper。

 

缺省情况下,是不支持的。所以如果我们只是简单的声明了一下linkHelper的扩展,如下:

 

    <extension
          point="org.eclipse.ui.navigator.linkHelper">
       <linkHelper
             class="org.eclipse.ui.internal.navigator.resources.workbench.ResourceLinkHelper"
             id="org.eclipse.ui.navigator.resources.linkHelper">
          <selectionEnablement>
             <instanceof value="org.eclipse.core.resources.IFile"/>
          </selectionEnablement>
          <editorInputEnablement>
             <instanceof value="org.eclipse.ui.IFileEditorInput"/>
          </editorInputEnablement>
       </linkHelper>
    </extension>

 由于不知道它要用在哪个Navigator上,所以是不被任何一个Navigator支持的。也就是点"Link Editor"那个按钮没反应。

 

如果需要把它用在ResourceNavigator上,那需要再定义如下 :

 

   <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewerContentBinding
            viewerId="org.eclipse.ui.navigator.ProjectExplorer">
         <includes>
            <contentExtension
                  pattern="org.eclipse.ui.navigator.resources.linkHelper">
            </contentExtension>
            <actionExtension
                  pattern="org.eclipse.ui.navigator.resources.linkHelper">
            </actionExtension>
         </includes>
      </viewerContentBinding>
   </extension>

 这样一来,当处在ResourceNavigator时,并且"link Editor"按钮可用时,linkHelper的实现类就会被调到:

 

	public void activateEditor(IWorkbenchPage aPage,
			IStructuredSelection aSelection) {
		
	}

	public IStructuredSelection findSelection(IEditorInput anInput) {
		
		return null;
	}
 这两个方法的逻辑需要自己实现,以完成link操作
分享到:
评论

相关推荐

    org.eclipse.ui.examples.navigator..jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.ui.tests.navigator.nl_zh_4.20.0.v20210630020001.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.ui.navigator.resources.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.ui.navigator.nl_zh_4.20.0.v20210630020001.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    eclipse插件开发之Common Navigator View

    3. **定义views扩展点**:在`plugin.xml`文件中,你需要声明一个新的`org.eclipse.ui.views`扩展点,指定视图的类(通常使用`org.eclipse.ui.navigator.CommonNavigator`)以及视图的ID。 4. **配置CommonNavigator...

    使用CommonNavigator开发资源管理器.doc

    - `org.eclipse.ui.navigator.linkHelper`:支持文件与资源管理器之间的联动,比如双击文件在编辑器中打开。 4. **快速入门示例**:创建一个新的Eclipse插件项目`org.demo.navigator`,并引入相关依赖插件。通过...

    CNF导航----building-common-navigator-framework-viewer-ii

    在这个例子中,我们创建了一个名为“Properties Files”的分类,并将其父分类设置为资源文件(`org.eclipse.ui.navigator.resources.category.file`)。 - `&lt;viewers&gt;`元素定义了一个或多个查看器,这些查看器用于显示...

    RCP的Navigator例子源代码(包括修改默认的new右键菜单)

    4. **贡献菜单项**:使用`org.eclipse.ui.menus`扩展点,将自定义命令添加到右键菜单中。需要指定命令ID、菜单ID(例如`org.eclipse.ui.navigator.NewMenu`表示Navigator的“新建”菜单)以及菜单位置。 5. **激活和...

    CNF导航----building-common-navigator-framework-viewer-IV

    首先,我们将聚焦于 `org.eclipse.ui.popupMenu` 的使用,而在下一篇文章中,则会探讨 `org.eclipse.ui.navigator.navigatorContent` 的相关内容。 #### 使用 `org.eclipse.ui.popupMenu` 贡献菜单项 `org.eclipse...

    Eclipse 插件下载专区lousingvu专用通道 插件G

    10. `org.eclipse.ui.navigator_3.4.1.M20090911-1550.jar`:导航器插件,提供了一个查看和操作项目结构的视图,方便用户在复杂的项目中导航。 这些插件共同构成了一个功能丰富的Eclipse开发环境,涵盖了从基本的...

    eclipse一打开就会出现这个情况Loading descriptor for.......docx

    具体步骤是:在Project Explorer视图的右上角点击“View Menu”,然后选择“Filters and Customization”,在Content选项卡中取消选中不相关的项目类型,如Java EE Navigator Content WEB,或者任何其他未使用的插件...

    CNF导航----building-common-navigator-framework-viewer

    4. **扩展点使用**:除了上述提到的`org.eclipse.ui.navigator.viewer`和`org.eclipse.ui.navigator.navigatorContent`扩展点之外,还可以利用其他相关的扩展点来进一步定制和扩展CNF的功能。 #### 六、总结与展望 ...

    SpringSource开发工具资源配置

    9. **Web项目导航**:`org.eclipse.wst.standard.schemas_1.0.200.v200902270215.jar`和`org.eclipse.jst.j2ee.navigator.ui_1.1.301.v201001252130.jar`提供了对Web项目的结构查看和管理,方便开发者在项目中导航和...

    CNF导航----building-common-navigator-framework-viewer-III

    ### 使用`org.eclipse.ui.navigator.navigatorContent`配置菜单 这种方式提供了更多灵活性,允许开发者通过编程方式控制哪些操作被贡献到特定上下文中的菜单中。这种方法尤其适用于那些需要高度定制化或复杂逻辑的...

    Eclipse Rcp comon Navigator demo

    7. **Part Descriptor**:定义Common Navigator视图在工作台中的位置和行为,通过`org.eclipse.ui.perspectiveExtensions`和`org.eclipse.ui.views`元素进行配置。 8. **Perspective**:你可以创建或修改现有透视图...

    Common Navigator Framework

    这些实现细节可以在 Eclipse 的插件 `org.eclipse.ui.navigator.resources` 中找到。 #### 2. Navigator ##### 2.1 概述 Navigator 是 CNF 中的核心组件之一,它负责提供一个统一的视图来显示 Eclipse 的资源。...

    j2ee工程迁移到eclipse

    &lt;classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/&gt; &lt;classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/&gt; ``` ##### 2. 设置项目特性 - ...

    Eclipse RCP Plugin 开发自学入门指南(CEC首发)

    Eclipse RCP 允许开发者使用 eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中 已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP 入手可能会比较困难、费时。接下 来我们将主要讲述如何让RCP ...

    Eclipse权威开发指南2.pdf

    2.2 基本的Eclipse使用...... 20 2.2.1 在Eclipse中工作..... 21 2.2.2 了解Eclipse用户界面..... 22 2.2.3 任务、书签和问题..... 28 2.2.4 后台处理..... 29 2.2.5 Eclipse的帮助功能..... 30 2.3 资源管理...... ...

Global site tag (gtag.js) - Google Analytics