定制Eclipse IDE之功能篇(一)
2016-05-30 09:58
459 查看
上文回顾:定制Eclipse IDE之界面篇
这一篇文章将记录一些Eclipse插件拓展(extension),简单讲述常用拓展的用法,但可能不会那么详细。
我的主要插件的拓展如下:
![](http://images0.cnblogs.com/blog2015/555379/201508/010944356425356.png)
一、org.eclipse.ui.startup
这一个拓展可以说很关键,他可以让我们在eclipse启动时候做一些事件(之后很多小功能东西依靠它做的)。
XML配置:
对应实现类:
二、org.eclipse.ui.newWizards
这个是向导拓展。就类似新建项目,然后下一步下一步的操作。
在这里我用来做新建应用模板的工程,在向导拓展里面实现应用模板生成。
![](http://images0.cnblogs.com/blog2015/555379/201508/010946346896853.png)
XML配置:
对应实现类:
具体代码就不显示,BTProjectWizard 只是一个容器,他还需要添加WizardPage进去。
另外可以将向导拓展添加到右键菜单上。
XML配置如下:
三、org.eclipse.ui.menus
单独在菜单栏添加项。
例如:我添加一个同步菜单
![](http://images0.cnblogs.com/blog2015/555379/201508/010948157827435.png)
XML配置:
实现类:
四、org.eclipse.ui.perspectives
定义透视图
![](http://images0.cnblogs.com/blog2015/555379/201508/010949274396610.png)
XML配置:
实现类:实现类内容就是对视图的布局,在第一篇文章里面有写。
五、org.eclipse.ui.actionSets
定义操作动作,可以放置到菜单栏或工具栏上。
![](http://images0.cnblogs.com/blog2015/555379/201508/010950103765694.png)
XML配置:
里面menubarPath、toolbarPath操作按钮放或不放,放哪。
常用的拓展就先介绍到这里,目的是希望大家知道有这东西,而不是具体怎么实现。
本文为原创文章,转载请保留原出处,方便溯源,如有错误地方,谢谢指正。
本文地址 :http://www.cnblogs.com/lovesong/p/4693666.html
这一篇文章将记录一些Eclipse插件拓展(extension),简单讲述常用拓展的用法,但可能不会那么详细。
我的主要插件的拓展如下:
![](http://images0.cnblogs.com/blog2015/555379/201508/010944356425356.png)
一、org.eclipse.ui.startup
这一个拓展可以说很关键,他可以让我们在eclipse启动时候做一些事件(之后很多小功能东西依靠它做的)。
XML配置:
<extension point="org.eclipse.ui.startup"> <startup class="com.bingo.start.BTStart"> </startup> </extension>
对应实现类:
public class BTStart implements IStartup { public BTStart() { } public void earlyStartup() { //无关UI的代码可写这里 Job job = new UIJob("") { public IStatus runInUIThread(IProgressMonitor monitor) { try { //涉及到UI的代码写这里,不然将操作不了 } catch (ExecutionException e) { e.printStackTrace(); return Status.CANCEL_STATUS; } return Status.OK_STATUS; } }; job.schedule(300L); //300ms后执行 } }
二、org.eclipse.ui.newWizards
这个是向导拓展。就类似新建项目,然后下一步下一步的操作。
在这里我用来做新建应用模板的工程,在向导拓展里面实现应用模板生成。
![](http://images0.cnblogs.com/blog2015/555379/201508/010946346896853.png)
XML配置:
<extension point="org.eclipse.ui.newWizards"> <category id="bt_project" name="%category.name"> </category> <wizard category="bt_project" class="com.bingo.perspective.ui.wizards.BTProjectWizard" finalPerspective="com.bingo.ide.perspective" icon="icons/eclipse16.png" id="com.bingo.perspective.wizards.BTProjectWizard" name="%projcet.name" project="true"> </wizard> </extension>
对应实现类:
public class BTProjectWizard extends Wizard implements INewWizard{ }
具体代码就不显示,BTProjectWizard 只是一个容器,他还需要添加WizardPage进去。
另外可以将向导拓展添加到右键菜单上。
XML配置如下:
<extension point="org.eclipse.ui.navigator.navigatorContent"> <commonWizard associatedExtensionId="org.eclipse.ui.navigator.resourceContent" type="new" wizardId="com.bingo.perspective.wizards.BTProjectWizard"> <enablement> </enablement> </commonWizard> </extension>
三、org.eclipse.ui.menus
单独在菜单栏添加项。
例如:我添加一个同步菜单
![](http://images0.cnblogs.com/blog2015/555379/201508/010948157827435.png)
XML配置:
<extension point="org.eclipse.ui.menus"> <menuContribution allPopups="false" locationURI="menu:help?before=org.eclipse.equinox.p2.ui.sdk.install"> <command commandId="com.bingo.perspective.ui.SyncHandler" label="同步BingoTouch模板" style="push"> </command> </menuContribution> </extension> <extension point="org.eclipse.ui.commands"> <command defaultHandler="com.bingo.perspective.ui.handler.SyncHandler" id="com.bingo.perspective.ui.SyncHandler" name="同步BingoTouch模板"> </command> </extension>
实现类:
public class SyncHandler extends AbstractHandler { public SyncHandler() { } public Object execute(ExecutionEvent event) throws ExecutionException { //检查模板版本 SyncResource.start(); return null; } }
四、org.eclipse.ui.perspectives
定义透视图
![](http://images0.cnblogs.com/blog2015/555379/201508/010949274396610.png)
XML配置:
<extension point="org.eclipse.ui.perspectives"> <perspective class="com.bingo.perspective.BingoTouchPerspective" fixed="true" icon="icons/eclipse16.png" id="com.bingo.ide.perspective" name="%perspective.name"> </perspective> </extension>
实现类:实现类内容就是对视图的布局,在第一篇文章里面有写。
五、org.eclipse.ui.actionSets
定义操作动作,可以放置到菜单栏或工具栏上。
![](http://images0.cnblogs.com/blog2015/555379/201508/010950103765694.png)
XML配置:
<extension point="org.eclipse.ui.actionSets"> <actionSet label="BingoTouch Action Set" visible="true" id="com.bingo.functions.actionSet"> <menu label="%document.name" id="btDoc"> <separator name="btDocGroup"> </separator> </menu> <action class="com.bingo.perspective.ui.actions.OnlineDocumentAction" icon="icons/icon/faq.png" id="btFAQ" label="%faqdoc.name" menubarPath="btDoc/btDocGroup" toolbarPath="btDocGroup" tooltip="%faqdoc.name"> </action> <action class="com.bingo.perspective.ui.actions.OnlineDocumentAction" icon="icons/icon/uidoc.png" id="btUIDoc" label="%uidoc.name" menubarPath="btDoc/btDocGroup" toolbarPath="btDocGroup" tooltip="%uidoc.name"> </action> <action class="com.bingo.perspective.ui.actions.OnlineDocumentAction" icon="icons/icon/apidoc.png" id="btApiDoc" label="%apidoc.name" menubarPath="btDoc/btDocGroup" toolbarPath="btDocGroup" tooltip="%apidoc.name"> </action> </actionSet> </extension>
里面menubarPath、toolbarPath操作按钮放或不放,放哪。
常用的拓展就先介绍到这里,目的是希望大家知道有这东西,而不是具体怎么实现。
本文为原创文章,转载请保留原出处,方便溯源,如有错误地方,谢谢指正。
本文地址 :http://www.cnblogs.com/lovesong/p/4693666.html
相关文章推荐
- winform异型不规则界面设计的实现方法
- 在ASP.NET 2.0中操作数据之二十:定制数据修改界面
- Android中设置只有程序第一次运行才显示的界面实现思路
- hta 实现的五子棋界面
- android开发之欢迎界面的小例子
- C#中载入界面的常用方法
- Android绘制炫酷引导界面
- android编程实现局部界面动态切换的方法
- Android判断现在所处界面是否为home主桌面的方法
- Android用户注册界面
- Android编程实现泡泡聊天界面实例详解(附源码)
- android 引导界面的实现方法
- VC 界面库皮肤库相关信息珍藏
- 在ASP.NET 2.0中操作数据之二十:定制数据修改界面
- Android中界面实现全屏显示的两种方式
- 简单做出不丑设计
- extmail 界面修改
- QT程序启动界面的使用
- The Book of Qt 4 翻译: 2.2 界面和处理逻辑的分离