Eclipse插件开发HelloWorld篇

  • 介绍
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

转载于:https://my.oschina.net/surenpi/blog/817010