文档章节

Eclipse插件开发HelloWorld篇

素人派
 素人派
发布于 2016/12/31 20:49
字数 831
阅读 12
收藏 0
  • 介绍
Eclipse插件开发初体验,通过下面的步骤,可以很快地得到一个HelloWorld版本的Eclipse插件。该示例的最终效果,是会通过点击新增加的一个按钮或者菜单弹出一个提示框(内容是HelloWorld)。 这是一篇Eclipse插件开发入门的教程,本站还有其他很多的教程,但不要忘记最好的老师就是Eclipse本身。建议大家多多查看Eclipse安装目录下plugins中的jar文件,通过反编译( jd-gui就是一个非常好的工具)或者直接下载Eclipse的源码(我不太推荐新手用这种方式,那么多的源码也许会把你吓跑了)来学习。
  • 新建一个插件工程
eclipse-1 eclipse-2 eclipse-3
  • 运行插件
eclipse-4 点击上图中的运行按钮,将会重新启动一个Eclipse实例,并加载插件。 eclipse-5
  • 插件导出
只有将插件导出来,别人才能使用你的插件,所以很重要的哦。 eclipse-6 在输出目录中,你将看到plugins目录,将该目录中的文件(org.suren.eclispe.test_1.0.0.201501201241.jar)放到Eclipse对应的目录中即可。 要注意,如果你的插件工程中包含有中文,在导出的过程中就有可能会报错(提示无法编译),如下: String literal is not properly closed by a double-quote 这是个字符集的问题。其实,你可以注意到Eclipse导出插件使用的ant,默认无法使用utf-8字符集。解决这个问题需要修改build过程,打开build.properties文件(你可以使用普通文本编辑打开,或者使用插件视图后切换到build.properties选项卡)后再最下面添加如下内容: javacDefaultEncoding.. = utf-8
  • 插件发布
feature一般是作为一个功能集合或者发布单元来定义的,所以说一个feature会包含多个上面的plugin工程。 [caption id="attachment_3835" align="aligncenter" width="525"] new_plugin_feature_project new_plugin_feature_project[/caption] [caption id="attachment_3836" align="aligncenter" width="525"] new_plugin_feature_project_1 new_plugin_feature_project_1[/caption] [caption id="attachment_3837" align="aligncenter" width="525"] new_plugin_feature_project_2 new_plugin_feature_project_2[/caption] 打开插件对应的feature工程,找到配置文件feature.xml eclipse-7 从底部选项卡中选择“Overview”视图 eclipse-8 填写工程信息 eclipse-9 打开site.xml文件,选择“Site Map”视图,添加“Category” eclipse-10 工程构建 eclipse-11 将生成的所有文件拷贝到服务器中,即可通过url来在线安装插件,例如:http://surenpi.com/eclipse/plugins/littlebird eclipse-12
  • 使用updateSite的方式安装
An error occurred during the org.eclipse.equinox.internal.p2.engine.phases.CheckTrust phase.
  • 最后一步

恭喜您,到目前为止您已经可以创建出来一个Eclipse插件,虽然没有任何实际意义的功能。这里有一篇介绍如何能够深入到Eclipse插件开发中的文章,请查看《Eclipse插件开发学习建议》。
  • 备注

在eclipse中使用快捷键Alt+Shift+F1就可以看到界面中的元素对应的实现类。 获取当前的workspace目录,ResourcesPlugin.getWorkspace().getRoot().getLocation() 获取当前的活动窗口,IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); build一个工程,project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, null); 刷新工程,project.refreshLocal(IResource.DEPTH_INFINITE, null); 判断是否设置了自动build,ResourcesPlugin.getWorkspace().isAutoBuilding(); 想知道如何打开Java类或者接口查找对话框,可以参考这篇文章。
  • 参考
http://blog.itpub.net/13081368/viewspace-374853/ 想要添加多语言支持的话,请看这里。 Eclipse源码下载http://git.eclipse.org/c/?q=jdt

本文转载自:http://surenpi.com/2015/01/20/eclipse%e6%8f%92%e4%bb%b6%e5%bc%80%e5%8f%91helloworld%e7%af%87/

素人派
粉丝 26
博文 1907
码字总数 10223
作品 6
东城
程序员
私信 提问

暂无文章

学习记录 java面试题(一)

1. JDK和JRE的区别 JDK是整个JAVA的核心,包括了Java运行环境JRE,一堆Java工具和Java基础的类库。通过JDK开发人员将源码 文件(java文件)编译成字节码文件(class文件)。 JRE是Java运行环境,...

Pole丶逐
20分钟前
5
0
springboot 部署到外部tomcat

入口类继承SpringBootServletInitializer 并重写protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)方法 如下 import org.springframework.boot.SpringApplic......

雷开你的门
26分钟前
3
0
hashCode和equals方法的关系

equals相等,hashcode必相等; hashCode()在哈希表中起作用,如HashSet、HashMap等。 当我们向哈希表(如HashSet、HashMap等)中添加对象object时,首先调用hashCode()方法计算object的哈希码,...

无名氏的程序员
30分钟前
2
0
技术分享 | MySQL 慢查询记录原理和内容解析

作者:高鹏 文章末尾有他著作的《深入理解 MySQL 主从原理 32 讲》,深入透彻理解 MySQL 主从,GTID 相关技术知识。 源码版本:percona 5.7.14 本文为学习记录,可能有误请谅解,也提供了一些...

爱可生
39分钟前
3
0
elementui 树型节点

节点选择时,勾选节点。 提交给后端时,传递 this.$refs.menuTree.getCheckedKeys(); 半选父节点 getHalfCheckedKeys() 不需要提交。...

东东笔记
39分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部