【插件开发】—— 2 插件入门
最近由于特殊需要,开始学习插件开发。
以前接触java也算有些时日,但是一直不知道有插件开发这样一种技术路径,本想着这开发工具都给你备好了,直接用不就行了。但是总有些IT工厂,为了要节约成本,开发自己的开发工具,但是又要节省时间,总不能一切都自己来。毕竟开发一个eclipse也要很长时间的。因此,插件开发出现在历史舞台。
首先要了解插件开发,就得从SWT/JFACE说起了。SWT是一种开源的界面开发框架,以前学java的时候,总是用一些panel,就类似这个。JFace又是一种基于SWT的UI不见的API。Eclipse就是用这个开发出来的,它提供了Eclipse强大的扩展性,因此可以让用户任意的插入自己想要的插件,开发自己的IDE。
下面就直接弄一个简单的插件吧!
首先认识一下Eclipse,这个大家应该很熟了!
1 红色部分是我们的工具栏
2 蓝色部分是视图
3 黄色部分是编辑器
通常我们使用编辑器,进行代码操作,或者业务操作。在视图,进行一些资源的查看等。红色引入一些常用的功能,辅助我们的操作。
我们先做一个简单的工具栏的控件,了解一下eclipse的插件开发流程!
1 新建一个插件工程
2 创建自己的插件名字,这个名字最好特殊一点,一遍融合到eclipse的时候,不会发生冲突。
首先,写入自己的插件名字。
source folder 是插件的代码路径。
output folder是插件输出的目标路径。
下面是开发插件的eclipse的版本。
3 下一步,进行插件的具体详情设置
ID 是插件的标识
version 是插件的版本
Name是插件的名字
Provider是开发者的信息
下面的Activator,是插件的激活类,用来管理插件的生命周期。
最后是选择是否开发RCP,富客户端应用,暂且不用,选否就行了。
4 使用插件模板,创建一个插件工具
选择hello world.这是一个工具栏的按钮。
5 下一步,进行按钮的信息设置。
默认会生成类的名字,路径(包名),以及工具栏按钮出发的消息提示。
6 点击finish,完成插件的创建。
这样,我们就完成了一个插件的创建,那么看一下,eclipse都为我们生成了什么。
1 导入了插件所需要用到的jar包
2 导入了插件依赖的库
3 源文件
4 插件按钮图片
5 插件的配置信息
MANIFEST.MF 插件的捆绑信息
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: 我的插件
Bundle-SymbolicName: com.test.myplugin; singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: com.test.myplugin.Activator
Bundle-Vendor: xingoo
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Name 是我们之前设置的插件名字
SymblicName 是我们插件的包名
version 是插件的版本
Activator 是插件的激活类
Vendor 是插件开发者的信息
Bundle 是插件以来的库
这些信息都对应着插件的overview页面的信息。
plugin.xml 插件的详细设置文档,包含插件的扩展点信息,以及插件自己的信息
<?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.4"?> <plugin> <extension point="org.eclipse.ui.actionSets"> <actionSet label="Sample Action Set" visible="true" id="com.test.myplugin.actionSet"> <menu label="Sample &Menu" id="sampleMenu"> <separator name="sampleGroup"> </separator> </menu> <action label="&Sample Action" icon="icons/sample.gif" class="com.test.myplugin.actions.SampleAction" tooltip="Hello, Eclipse world" menubarPath="sampleMenu/sampleGroup" toolbarPath="sampleGroup" id="com.test.myplugin.actions.SampleAction"> </action> </actionSet> </extension> </plugin>
<plugin>元素清单的主体
<extension>插件的功能扩展,里面包括 point 扩展点的标识、id 扩展实例的标识、name 提供的用户的名称等等
build.properties 构建的元素列表
source.. = src/
output.. = bin/
bin.includes = plugin.xml,\
META-INF/,\
.,\
icons/
里面包括插件的源文件目录,生成文件目录,还有一些配置信息的引入。
提供的插件类Activator.java
1 package com.test.myplugin; 2 3 import org.eclipse.jface.resource.ImageDescriptor; 4 import org.eclipse.ui.plugin.AbstractUIPlugin; 5 import org.osgi.framework.BundleContext; 6 7 /** 8 * The activator class controls the plug-in life cycle 9 */ 10 public class Activator extends AbstractUIPlugin { 11 12 // The plug-in ID 13 public static final String PLUGIN_ID = "com.test.myplugin"; 14 15 // The shared instance 16 private static Activator plugin; 17 18 /** 19 * The constructor 20 */ 21 public Activator() { 22 } 23 24 /* 25 * (non-Javadoc) 26 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) 27 */ 28 public void start(BundleContext context) throws Exception { 29 super.start(context); 30 plugin = this; 31 } 32 33 /* 34 * (non-Javadoc) 35 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) 36 */ 37 public void stop(BundleContext context) throws Exception { 38 plugin = null; 39 super.stop(context); 40 } 41 42 /** 43 * Returns the shared instance 44 * 45 * @return the shared instance 46 */ 47 public static Activator getDefault() { 48 return plugin; 49 } 50 51 /** 52 * Returns an image descriptor for the image file at the given 53 * plug-in relative path 54 * 55 * @param path the path 56 * @return the image descriptor 57 */ 58 public static ImageDescriptor getImageDescriptor(String path) { 59 return imageDescriptorFromPlugin(PLUGIN_ID, path); 60 } 61 }
start()和stop()分别用于插件开始与停止调用的函数。
最后让我们运行一下这个插件吧!
启动方式1 直接在overview界面点击;
启动方式2 也可以点击运行或者DEBUG按钮,运行方式选择Eclipse Application。
点击启动后,会为我们重新开启一个Eclipse,这个Eclipse就是带有我们创建的插件的新Eclipse。启动效果如下:
这样一个简单的插件就开发完啦!让我们就此真正的起航吧!!!
相关推荐
开发Eclipse插件通常需要安装Eclipse IDE for RCP and RAP Developers版本,这个版本包含了开发插件所需的工具和API文档。同时,Eclipse的Plug-in Development Environment (PDE)工具集提供了创建、编辑、调试插件...
总的来说,Eclips3.2图形开发插件大全包VE-SDK-1.2是一个强大的开发资源,为图形界面应用程序的开发提供了一站式解决方案。开发者可以利用这些工具提高开发效率,同时保持代码的可读性和可维护性。尽管Eclipse已经...
《Eclipse插件开发(第3版 - 高清)》是关于Eclipse平台扩展开发的一本经典著作,由[美] Dan Rubel撰写,并由陈沛等人翻译,ISBN为978-7-111-30336-7。这本书深入浅出地介绍了如何利用Java、SWT和JFace技术来构建...
**Eclipse Scala Plugin 插件测试可用功能** Scala是一种强大的静态类型编程语言,它结合了面向对象和函数式编程的特点,被广泛应用于开发高性能、可维护的软件。Eclipse Scala Plugin是Eclipse集成开发环境(IDE)...
Eclipse是一款流行的Java集成开发环境(IDE),对于Hadoop开发者来说,安装Hadoop的Eclipse插件可以极大地提升开发效率。本篇文章将详细介绍Hadoop Eclipse插件的安装与使用,以及通过Eclipse创建和运行Hadoop实例...
描述中的"分别放到自己Eclips目录的features和plugin中"是指手动安装插件的一种方式。用户可以下载Scala IDE的ZIP包,然后找到Eclipse安装目录下的`features`和`plugins`两个文件夹,将ZIP包解压后的相应文件复制...
`hadoop-eclipse-plugin`是Eclipse集成开发环境中的一个插件,它使得开发者能够在Eclipse中直接编写、调试和运行Hadoop MapReduce程序,极大地提升了开发效率。在本场景中,我们讨论的是在Windows 10环境下,配合JDK...
本主题将详细讲解如何使用"Eclips查看Class文件插件",以及它在Eclipse和MyEclipse中的应用。 首先,我们来看“jad.exe”这个文件。jad是Java反汇编器(Java Disassembler),它是JDK自带的一个工具,用于将字节码...
实现了java窗口的拖拽,自动生成代码,对java界面编程,非常方便(安装方法:打开eclips,点击help-Install new software-Add-Achive(选中该压缩包)+OK+next)完成
总的来说,"SpringSide3.13必备Eclips3.4插件"是为提升SpringSide项目开发效率而设计的辅助工具,它能够优化开发者的日常工作流程,使得在Eclipse环境中使用SpringSide更加得心应手。对于初学者和经验丰富的开发者来...
2. 插件架构和扩展点:详细说明了Eclipse平台的扩展点架构,以及如何利用这些扩展点开发插件。 3. 使用插件开发工具:介绍如何使用Eclipse开发工具包(PDE)进行插件的创建和管理。 4. 用户界面和工作台:讲述了...
1. **理解OSGi框架**:Eclipse基于OSGi模块化系统构建,理解其动态性、模块化特性和服务注册机制是开发插件的前提。 2. **Plug-in工程结构**:包括Plugin.xml配置文件、源代码目录结构和依赖管理。学习创建新的...
MDKEclipse PlugIn是专为Eclipse集成开发环境设计的一款扩展工具,主要服务于STM32微控制器的开发工作。这款插件是MDK(Micro Device Kit)5版本的一部分,旨在提供一个无缝的IDE环境,使得开发者能够利用Eclipse的...
Eclipse是一款广泛使用的Java集成开发环境(IDE),它支持多种应用程序的开发,包括Web应用程序。...正确安装和使用这个插件,可以使开发过程更加流畅,减少不必要的上下文切换,提高整体开发体验。
在Eclipse中集成Git插件使得开发者可以在熟悉的开发环境中轻松地进行版本控制操作,包括克隆、提交、推送、拉取、合并等。本文将详细介绍Eclipse Egit插件及其相关知识。 1. **Eclipse Egit插件介绍** Eclipse ...
【基于Eclips的CVS开发文档】是关于如何在Eclipse集成开发环境中配置和使用CVS(Concurrent Versions System)版本控制系统的一个指导文档。CVS是一个开源的、分布式的版本控制系统,它允许开发者协作开发并跟踪代码...
Eclipse的Freemarker插件是为开发人员提供的一款强大工具,主要针对使用Freemarker模板语言进行Web应用开发的用户。Freemarker是一个开源的模板引擎,它允许程序员将逻辑与视图分离,使HTML或者其他输出格式的文档...
总之,这个"ajax的实例,eclips下开发"的压缩包提供了丰富的Ajax应用示例,对于想要学习和掌握Ajax技术的初学者来说,是一份非常有价值的资源。通过这些实例,可以深入理解Ajax的工作原理,并学会如何在Eclipse环境...
接下来,安装MyEclipse作为Eclipse的插件,以获得更丰富的功能,例如支持数据库连接、企业级项目开发等。这里选用的是4.1.1版本,安装时指定Eclipse的路径,然后将MyEclipse的features和plugins目录覆盖到Eclipse...