枫林在线论坛精华区>>程序设计 |
[340914] 主题: Eclipse零起步系列讲座(十二) |
作者: little (渺小·Happy^_^) | ||
标题: Eclipse零起步系列讲座(十二)[转载] | ||
来自: 192.168.*.* | ||
发贴时间: 2005年04月25日 11:27:43 | ||
长度: 7384字 | ||
Eclipse零起步系列讲座 (十二) =========================================== (前言) 今天介绍PDE的feature部分, 别以为feature没有实际的代码,运行库, 但 是它对管理和 组织整个eclipse插件平台是起着 至关重要的作用的. (正文) [feature 简介] 一般来说做一个eclipse的插件有可能需要做很多插件, 可以有助于开发时 的模块独立化 ,层次化, 有时一个产品的插件 可能有com.company.product.core, com.company.product.ui, com.company.product.help 等等, 如果你的插件还有段 , 做nls支持的话, 那还会有com.company.product.core.nls, com.company.product.ui.nls, com.company.product. help.nls等等. 所以一般来说, 发布出去的eclipse插件产品都会包含好多 个plug-in, 运行时缺一不可. 那我们如何来 管理这些plug-ins的运行呢. 就要用feature了 feature其实前面已经介绍过了, 它是一个插件的包络器, 让eclipse能够 更加方便快捷 的管理插件. 而我们可以利用 feature做些什么呢 1. 管理插件, 包括插件的启动, 禁用, 就算插件已经在plugins目录下, 也可以控制它 是否启用. 2. about 功能: 对于一个插件来说, 他到底派些什么用处, 如何让user能 尽快了解你的 插件功能, 那about可以为你做 到很多, 包括about内的介绍等等, (当然还有eclipse online help, 不过 这不是featur e的功能) 3. 定制welcome page: 当你刚装好一个插件, 如果有welcome page的话, 就会自动弹出 , 这个页面对于newbie来说是很 重要的, 你可以在这个page做一份guide, 让user能更快的使用你的插件 [创建 feature] 上一讲, 我们使用helloworld, 并做了些改进, 还开发了一个fragment作 为nls的支持. 那我们今天就要把这个东东用 feature进行打包. 我们的plugin是org.eclipse.example.xyz, 以及fragment : org.eclipse.example.xyz.nls 此时, 我们先新建一个feature的项目, new-> project->plugin d evelopment -> feature project 项目名: org.eclipse.example.xyz_feature 按next 在feature properties页面, 将feature id 改为 org.eclipse.example. xyz, 按next 注意: feature的id要和一个plugin的id, 否则不能做welcome page, 我也 不清楚为什么 , 或许这就是规范, 不知有没有别的方法, 还望大家指教 然后在reference plugin and fragment 页面, 我们勾上我们开发plugin 和fragment:or g.eclipse.example.xyz和org. eclipse.example.xyz.nls, 按finish 现在,一个简单的feature就创建好了. 如果我们还想对feature做一些更多 的设置, 就打 开feature.xml这个文件, 用pde 提供的feature manifest editor来修改 [编辑 feature.xml] 这个editor有overview, information, content, advanced 和source 页 面, 使您能更 方便的编辑feature.xml overview: 这个页面主要分3块 general information, feature urls, supported e nvironment. general info我们可以修改feature的id, name, version, provider等等 , 包括banner image(在install/update透视图 ,单击这个feature,就能在preview视图中看到这个image, 就是商标). feature url包括这个插件以后要进行升级的url, 因为插件也是可以在线 升级的, 我们 会在将到site的时候, 就知道这 里的url该填什么值了. supported environment表明了这个feature的运行环境, 你可以根据你的 运行环境,对这 个选项进行选择, manifest editor做的很方便, 你只要点"..."按钮, 然后选你要的就可以 了 information: 这里主要有3大块info, feature description 就是这个feature功能的简 要介绍, copyright notice, 和license agreement. 这些如果是开发商业级插件, 应该都是必填 的东东, 也是为了维护自己的权益嘛 content: 这里就是要修改你这个feature到底要装些什么东东了, 如果是按照前面步 骤做下来, 你 可以看见在feature plugins and fragments列表中已经包含了org.eclip se.example.xy z 和org.eclipse.example.xyz.nls这两个东东了 当然,包含好之后,我们还要做一件事,就是compute required plugins an d fragments, 就是你包络的那些插件要依赖的插件,可以用compute按钮这个 功能计算出来 , 当然你也可以手工添加 advanced: 这个页面是让你用来包feature的, 就是说feature不仅可以包络plugin和 fragment, 还 可以包络feature, 进行迭代式管理,呵呵, 不过一般用的不多 [about feature 编辑] 编辑feature的about属性,要在feature对应id的那个plugin新建一个abou t.ini文件, 这 个ini配置文件的内容大致如下: 这里有些配置只有在设立feature的primary等于true的时候,才会有效, # 注释中都写清 楚的 =============================================== # about.ini # contains information about a feature # java.io.Properties file (ISO 8859-1 with "" escapes) # "%key" are externalized strings defined in about.pro perties # This file does not need to be translated. # Property "aboutText" contains blurb for "About& quot; dialog (translated) aboutText=%blurb # Property "windowImage" contains path to window icon (16x16) # needed for primary features only # Property "featureImage" contains path to feature ima ge (32x32) featureImage=eclipse32.gif # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only # Property "appName" contains name of the application (translated) # needed for primary features only # Property "welcomePage" contains path to welcome page (special XML-based format) # optional # Property "welcomePerspective" contains the id of the perspective in which the # welcome page is to be opened. # optional ==================================================== 基本的格式如上,大家可以按照这个格式编写自己的feature的about配置文 件, 其中有一 项welcomePage的属性, 是用来定义welcomepage的location的. [welcome page] 我们定义welcomePage=$nl$/welcome.xml, 然后同样在org.eclipse.exam ple.xyz这个插 件下新建一个welcome.xml的文件,我们就可以编写我们自己需要的welcom e page了,编写 这个xml也是有规范的, 大家可以去网上查一下welcomepage的dtd 或refe rence 来指导 大家写, 不过最多的方式,其实还是看例子, 我们比如看pde的welcome pa ge这个例子 我们点击help->welcome, 然后在弹出的对话框中,选择Eclipse Plug- in Development Environment, 这样pde的welcome page就打开了 然后我们再看看它的源地码来比较一下 =================================================== <?xml version="1.0" encoding="UTF-8" ?> ; <welcomePage title="Eclipse Plug-in Development Enviro nment (PDE)" format="wrap"> <intro>This page will help familiarize you with the Ecli pse Plug-in Development Environment. To get started, read the sections below and click on the related links.</intro> <item> <b>The Plug-in Development Perspective</b> To do plug-in development open to the Plug-in Development Pers pective by selecting <action pluginId="org.eclipse.pde.ui" class="org.eclipse.pde.internal.ui.OpenPDEPerspectiveAction ">Window > Open Perspective > Plug-in Development</action> . </item> <item> <b>Create New Plug-ins</b> To start create a <action pluginId="org.eclipse.pde.ui" class="org.eclipse.pde.internal.ui.wizards.project.OpenProj ectWizardAction">p lug-in project</action> . Choose one of the available templates to create initial cont ent and let the wizard open the plug-in manifest file. Read the 'Welcome' pa ge and familiarize yourself with things you can do with the newly creat ed plug-in. </item> <item> <b>Learn more</b> To learn more you can browse the <topic id="/org.eclipse.pde.doc.user/toc.xml"> Plug-in Development User Guide</topic> . </item> </welcomePage> ====================================================== <welcomepage>作为根节点, 可是设置welcome的标题 <intro> 对于这份welcomepage的内容做简要介绍 <item> 段落分界点 <b> 加粗 <action> 执行action, 这里的打开plugin-project的向导 <topic> 用来打开help的相应toc连接 大家可以仿造这些代码来写自己的welcome page plugin是产品的话, 那feature可以看作是包装盒, 有了一流的产品, 却没 有一流的包装 , 销路也不一定会好, 所以大家好好用feature,也是很有必要的 |
||
========== * * * * * ==========
|
返回 |