对eclipse功能的一些扩展方式
来源:互联网 发布:淘宝店铺logo在线生成 编辑:程序博客网 时间:2024/06/05 19:08
今天看了一点有关于java插件开发方面的东西,写一点点感想吧。
eclipse体系本身就是一个以一内核为基础,然后再由很多插件组成的一个体系。所以有了eclipse的原有内容,我们就能够在其基础上进行仅我们需要的开发了。比如说一个大纲视图就是一个插件,一个搜索功能也就是一个插件,但是这些功能仅仅是eclipse上的,并不同于我们所需要的应用程序。而eclipse的架构非常好,每一个插件都是一个扩展点,而同时往往也是对其他插件的一个扩展,所以使得无数程序员可以在其上面进行扩展,而扩展成的成品也就是插件。对eclipse体系进行功能扩展的过程其实也就是插件开发。
现在讲讲我今天学到的一点点东西。其实也很简单。既然eclipse的每一个功能是一个插件,就意味着每一个功能都可以扩展。比如你要添加一个视图(eclipse现存的视图有控制台视图、大纲视图、错误日志视图等等),那么你就可以扩展org.eclipse.ui.views插件;如果你要在菜单栏上添加一个动作集,那么就可以扩展org.eclipes.ui.actionSets插件;如果要在某个对象或者某个视图右击的菜单上添加某功能,那么就可以扩展org.eclipse.popupMenus插件。后面还有键绑定的操作,我先把这里的扩展讲完。
在eclipse中如果要对某一项右键之后的菜单进行添加,那么就需要对org.eclipse.popupMenus进行扩展,这只要在extension里面添加一个这样的插件就可以。然后再对这个插件扩展一个objectContribution.接下去就是一系列设置了。设置完车之后再写一个类来执行所要做得操作就可以。具体的plugin.xml的写法如下:
<extension
point="org.eclipse.ui.popupMenus">
<objectContribution
adaptable="false"
id="com.plugindev.addressbook.example.objectActionTest"
nameFilter="Three"
objectClass="java.lang.String">
<menu
id="exampleMenu"
label="示例菜单"
path="additions">
<separator
name="example">
</separator>
</menu>
<action
class="com.plugindev.addressbook.example.ObjExampleAction"
enablesFor="1"
id="com.plugindev.addressbook.objExampleAction"
label="对象示例操作"
menubarPath="exampleMenu/additions"
tooltip="举例说明如何添加对象操作">
</action>
</objectContribution>
<viewerContribution
id="com.plugindev.addressbook.example.viewerActionTest"
targetID="#TextEditorContext">
<menu
id="ViewToolbarMenu"
label="示例工具栏菜单"
path="additions">
<separator
name="example">
</separator>
</menu>
<action
class="com.plugindev.addressbook.example.ViewerExampleAction"
enablesFor="+"
id="com.plugindev.addressbook.viewerExampleAction"
label="查看器示例操作"
menubarPath="ViewToolbarMenu/addition"
style="push"
tooltip="举例说明如何添加查看器操作">
</action>
</viewerContribution>
</extension>
上面还有一个viewerContribution,这个也就是对右键某一个视图弹出的菜单的扩展,可以看到,这个也是扩展了org.eclipse.ui.popupMenus这一插件的。
之后的根据所需对象的不同可以对xml文件的属性进行配置,结果便可以让eclipse根据xml文件进行对图形界面的生成。
- 对eclipse功能的一些扩展方式
- eclipse的一些功能
- C++对C功能扩展的小结
- jQuery扩展功能的两种方式
- 对string的一些扩展函数
- 关于对SWS插件的一些扩展
- 对monkeyrunner扩展功能
- 分享一些对开发者最有用的、用户友好和功能丰富的Google Chrome扩展工具
- 对Editplsu功能的一些建议
- eclipse中对tomcat的一些操作
- Eclipse对插件的安装(link方式)
- WebBrower的应用和功能扩展中的一些技术细节
- 用C/C++对Python的功能进行扩展
- C++学习笔记(一) 对C功能的扩展
- MySQL数据库对GROUP BY子句的功能扩展(1)
- MySQL数据库对GROUP BY子句的功能扩展(2)
- 扩展类函数功能的三种方式
- Eclipse重构功能:扩展点的使用
- 再论推翻百年集论的真扩集定理(又改进稿)
- JAVA 小写金额转换大写金额
- jquery flexigrid checkbox翻页后保存原选项
- lucene 索引非txt文档 (pdf word rtf html xml)
- MTK的高亮机制
- 对eclipse功能的一些扩展方式
- HTTP Client 调用 ODI Scenario
- java调用oracle存储过程
- 比较 Java 数据对象和 EJB 技术
- SDRAM工作原理及S3C2410 SDRAM控制器配置方法
- ServiceSelectionNavigation一行显示六个块的滑动效果
- C#引用类型
- webservice安全性浅谈
- IEEE 802.11n协议中的相关技术