本文为大家讲解如何自己动手开发一款“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是以前项目名称,可自行修改)