跟着实例学eclipse插件开发--第四篇:文件打开插件

本文为大家讲解如何自己动手开发一款“eclipse文件打开插件”,用自己开发的插件去替代OpenExplorer,同时新增了F8快捷键打开文件夹功能,还是有一点成就感。

本文涉及到org.eclipse.ui.menus、org.eclipse.ui.popupMenus、org.eclipse.ui.bindings扩展点:

org.eclipse.ui.popupMenus 是项目右键菜单,org.eclipse.ui.menus 是“工作台”窗口中的按钮,org.eclipse.ui.bindings是绑定快捷键,扩展点对应的界面如下图所示:

org.eclipse.ui.menus 已经在第三篇做了详细介绍,这里着重介绍下org.eclipse.ui.popupMenus,配置代码如下:

<!--项目右键菜单 -->
   <extension
         point="org.eclipse.ui.popupMenus">
         <objectContribution
            objectClass="org.eclipse.core.runtime.IAdaptable"
            id="OpenFile.popupMenuContribution">
	        <action
	               label="Open File"
	               icon="icons/OpenFile.png"
	               class="com.msun.plug.OpenFilePopupAction"
	               menubarPath="additions"
	               enablesFor="*"
	               id="OpenFile.popupMenuAction">
	        </action>
      </objectContribution>
   </extension>

在一个视图的Popup Menu里增加一个菜单项,含有2种方式:

1、viewerContribution,也就是通过视图的id。这样只有视图id和给定的id一致的时候,它的弹出菜单才会增加我们定义的菜单项。

2、objectContribution,通过对象类型。当在视图里选定的对象类型和给定的一致时,在视图的弹出菜单增加我们定义的菜单项。

然后创建OpenFilePopupAction类:

package com.msun.plug;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IEditorActionDelegate;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.internal.ObjectPluginAction;

/** 
* @Title:插件开发
* @Description:右键菜单
* @Copyright:MSun (c) 2018年9月5日
* 
* @author:jiujiya
* @version:1.0 
*/
@SuppressWarnings("restriction")
public class OpenFilePopupAction implements IEditorActionDelegate {

	@Override
	public void run(IAction action) {
		ObjectPluginAction action1 = (ObjectPluginAction) action;
		// 打开当前的文件夹
		OpenFileUtil.open(action1.getSelection());
	}

	@Override
	public void selectionChanged(IAction action, ISelection selection) {
		
	}

	@Override
	public void setActiveEditor(IAction action, IEditorPart editorPart) {
		
	}

}

以上是org.eclipse.ui.popupMenus扩展点的实现方式,org.eclipse.ui.menus的不再讲解,可以自行下载源码查看。

源码下载地址:https://download.csdn.net/download/jiujiya123/10647058

(本教程是从一个项目中抽取出来的,可能会多引用了一些jar,另外Msun是以前项目名称,可自行修改)

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值