`
liugang594
  • 浏览: 981538 次
  • 性别: 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, ...

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

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

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

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

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

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

    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项目的结构查看和管理,方便开发者在项目中导航和...

    Eclipse Rcp comon Navigator demo

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

    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 资源管理...... ...

    Common Navigator Framework学习资料

    `org.eclipse.ui.navigator.viewer`和`org.eclipse.ui.navigator.resourceViewer`是与CNF相关的两个主要扩展点,用于注册新的导航视图和资源查看器。 7. **适配器(Adapters)**:适配器机制是CNF中的一大特色,它...

    com.autonavi.xmgd.navigator.1401261712

    高德导航软件 com.autonavi.xmgd.navigator.1401261712.apk

    Eclipse权威开发指南3.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 ...

    Eclipse权威开发指南1.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 ...

    Eclipse RCP Plug-in开发自学教程 源码

    “org.eclipse.ui.examples.navigator”可能是关于导航视图(Navigator View)的示例。导航视图展示了工作空间的资源结构,对于项目管理和浏览至关重要。你将了解如何扩展此视图以显示自定义内容。 “org.salever....

    修改 navigator.platform 的值.user.js

    修改 navigator.platform 的值.user.js

    Eclipse RCP Common Navigator Demo

    在Eclipse RCP中,Common Navigator Framework (CNF) 是一个关键组件,它提供了一种灵活的方式来展示资源树结构,类似于Eclipse IDE中的“Package Explorer”或“Project Explorer”。"Eclipse RCP Common Navigator...

    eclipse 使用技巧

    eclipse 使用技巧 Eclipse 是一个功能强大且广泛使用的集成开发环境(IDE),它支持多种编程语言,包括 Java、Python、C++、PHP 等。下面是 Eclipse 的一些使用技巧和概念: 一、Eclipse 的相关介绍 Eclipse 是由...

    vue3前端js通过navigator.serial直接连接地磅仪串口显示重量

    vue3前端js通过navigator.serial直接连接地磅仪串口显示重量 vue3前端js通过navigator.serial直接连接地磅仪串口显示重量 vue3前端js通过navigator.serial直接连接地磅仪串口显示重量 vue3前端js通过navigator....

Global site tag (gtag.js) - Google Analytics