博客网 >

Eclipse In Action - 附录C. 插件扩展点
作者:分类:默认分类标签:

附录C. 插件扩展点


翻译:Addone Squid[天堂鱿鱼](addone@gmail.com
  构成Eclipse平台的插件定义了众多的扩展点,你的插件可以使用这些扩展点来为Eclipse增加功能。通常,每个主要的新Eclipse项目会把自己的插件添加到这份列表中。在附表C.1中总结了在平台SDK中的扩展点,包括了JDT和团队协作插件。
  你可以把这份附录看作一串小球,只需抓住你想要的那一个,然后沿其方向一直学习下去。通常,用这种方式开始学习的最大障碍就是要找出学习的起点。而这份附录正为“扩展”提供了这样一个起点。
  当你选择了一个扩展点,你可以这样来读到它的详细文档:打开插件清单编辑器的[扩展]页面,点击[添加]按钮,选择[基于架构的扩展],选择一个扩展点,然后点击[细节]。请参看第8章和第9章,那里给出了使用其中一些扩展点的例子。

ID属性

  为了改善扩展点方面的在线文档的质量,我们已经和Eclipse的开发团队进行了广泛合作。然而,有一个细节做得还不够:关于ID属性的使用。一些扩展点需要在其自身定义ID属性(例如markers扩展),有一些需要在扩展内部的元素中定义(例如editors),而另外的一些则需要使用其它的不同方式。这或许是由于Eclipse的API发展过快造成的。一般说来,一个API一旦发布就不能再进行更改了,因此我们就被绑死在一些绳结中了。我们已经检查了每个扩展点以判断你将如何使用ID属性,并且增加了一些备注来帮助你正确使用它们。

不赞成使用的、作废的以及内部的扩展点

  [扩展]页显示了几个你不应该在你的插件中使用的扩展点。在附表C.1的[描述]栏中,我们使用如下的约定:
  • 不赞成使用:表示扩展点在当前版本中仍然可以使用,但在未来的版本中将会作废。不赞成在任何新代码中使用。
  • 作废:意味着此扩展在当前版本中已经被删除。尽管语法仍然被接受,但不会有任何实际作用。
  • 内部/实验性:表示扩展点虽然已经有了文档说明,但被标记为“内部”,所以在未来的版本中很可能改变。标记为“实验性”的更可能根据用户反馈而被正式支持。
  • 未实现:表明一个扩展在2.1版发布的时候还没有完成,但可能会在未来的版本中支持。

扩展点引入的版本

  表C.1中的[起始版本]栏表明该扩展点第一次被引入的Eclipse平台的版本号。如果该栏为空,则该扩展点始于1.0版。

表C.1 Eclipse平台SDK支持的扩展点
扩展点 描述 起始版本 备注
org.eclipse.ant.core.antTasks 将Ant的任务与你的插件中的类关联起来,以扩展Ant在Eclipse中运行时的能力。   3
org.eclipse.ant.core.antTypes 将Ant的数据类型与你插件中的类关联起来。   3
org.eclipse.ant.core.extraClasspathEntries 提供额外的类型库(JAR 文件)给Ant使用。   3
org.eclipse.compare.contentMergeViewers 为一种或多种文件类型提供一个比较/合并查看器生成器。   2
org.eclipse.compare.contentViewers 为一种或多种文件类型提供一个查看器生成器。   2
org.eclipse.compare.structureCreators 提供一个类来为一种或多种文件类型创建树型结构。   2
org.eclipse.compare.structureMergeViewers 为一种或多种结构化文件类型提供一个查看器生成器。   2
org.eclipse.core.resources.builders 注册一个使用符号ID和可读名字的增量构建器。   1
org.eclipse.core.resources.fileModificationValidator 为团队Provider提供一个用于处理保存验证和编辑验证操作的类。 2.0 3
org.eclipse.core.resources.markers 以可选的父类和属性来注册一个自定义标记,包含了一些已定义的父类。   1
org.eclipse.core.resources.moveDeleteHook 提供一个用于资源移动和删除操作的类。只允许一个hook。 2.0 3
org.eclipse.core.resources.natures 安装一个能够在用户项目中使用的自定义nature。   1
org.eclipse.core.resources.teamHook 为团队Provider注册一个用于处理和链接创建校验类似的特定事件的类。 2.1 3
org.eclipse.core.runtime.applications 定义一个可以在Eclipse命令行中用-application选项调用的顶层程序。   1
org.eclipse.core.runtime.urlHandlers 在平台的搜索路径中增加URL处理器。   3
org.eclipse.debug.core.breakpoints 定义自定义断点。   2
org.eclipse.debug.core.launchConfigurationComparators 声明专用Java比较器以比较属性。   2
org.eclipse.debug.core.launchConfigurationTypes 指定用于运行和调试各种程序的类。   2
org.eclipse.debug.core.launchers 2.0版作废:改用launchConfigurationTypes扩展点。
org.eclipse.debug.core.sourceLocators 指定类来帮助调试器定位源代码。   2
org.eclipse.debug.core.statusHandlers 为调试器状态码注册错误处理程序。   2
org.eclipse.debug.ui.consoleColorProviders 提供代码来处理控制台输出的颜色。 2.1 2
org.eclipse.debug.ui.consoleLineTrackers 提供代码来监听写入控制台的行。 2.1 2
org.eclipse.debug.ui.debugActionGroups 对几个action进行分组以使其可以同时可视或不可视。   2
org.eclipse.debug.ui.debugModelPresentations 定义类来为指定的调试模型渲染和显示标签、图标及编辑器。   2
org.eclipse.debug.ui.launchConfigurationTab-Groups 提供用来定义运行配置类型(运行和调试都有)的一组标签页   2
org.eclipse.debug.ui.launchConfigurationType-Images 把图片和特定的运行配置类型关联起来。   2
org.eclipse.debug.ui.launchGroups 定义同时显示的一组运行配置。 2.1 2
org.eclipse.debug.ui.launchShortcuts 在一种或多种透视图中增加运行和(或)调试菜单的快捷方式。   2
org.eclipse.help.appserver.server 内部:为帮助和其他插件增加一个程序服务器。   1
org.eclipse.help.browser 注册HTML浏览器。   2
org.eclipse.help.contexts 为一个插件定义在线式(F1)帮助。   3
org.eclipse.help.luceneAnalyzer 注册用来对帮助建立索引和搜索的自然语言文本分析器。   3
org.eclipse.help.support 定义一个帮助系统以替换系统原配的版本。除特定程序外,不推荐使用。   3
org.eclipse.help.toc 为此插件提供一个或多个帮助文档表。   3
org.eclipse.help.webapp 内部:注册帮助系统的Web程序插件。 2.1 3
org.eclipse.jdt.core.classpathContainerInitializer 声明Laly方式加载的自定义Classpath容器。 2.0 2
org.eclipse.jdt.core.classpathVariableInitializer 声明Laly方式加载的自定义Classpath变量以便在Java构建路径中使用。 2.0 3
org.eclipse.jdt.core.codeFormatter 定义新的代码格式化程序。 2.0 3
org.eclipse.jdt.debug.ui.vmInstallTypePage 为自定义VM类型提供JRE运行配置页。   2
org.eclipse.jdt.junit.testRunListeners 注册代码来以获得测试执行的通知。 2.1 3
org.eclipse.jdt.launching.classpathProviders 注册自定义源码和Classpath提供程序。 2.1 2
org.eclipse.jdt.launching.runtimeClasspathEntryResolvers 提供类以便按照给定的classpath和(或)容器来搜索类和源文件。   2
org.eclipse.jdt.launching.vmConnectors 提供自定义方式来连接JVM以调试和运行。   2
org.eclipse.jdt.launching.vmInstallTypes 提供Java虚拟机安装的新类型。   2
org.eclipse.jdt.ui.classpathContainerPage 增加向导页来创建或编辑classpath容器入口。   4
org.eclipse.jdt.ui.javadocCompletionProcessor 定义javadoc自动完成处理器(例如,给出xdocklet标记的建议)。   2
org.eclipse.jdt.ui.javaEditorTextHover 定义在java编辑器中热操作的新类型。   2
org.eclipse.jdt.ui.javaElementFilters 为显示java元素的视图增加可定制过滤器(如包浏览器)。   2
org.eclipse.pde.ui.newExtension 实验性:定义向导以在PDE的插件清单编辑器中创建新扩展。   2
org.eclipse.pde.ui.projectGenerators 实验性:定义向导以创建PDE插件项目的初始内容。   2
org.eclipse.pde.ui.templates 实验性:定义用来为新插件生成代码的模板。   2
org.eclipse.search.searchPages 为[查找]对话框增加标签页。   2
org.eclipse.search.searchResultSorters 在查找视图中提供自定义排序选项。   2
org.eclipse.team.core.fileTypes 声明文件基于其扩展名的类型只能为文本或二进制。   3
org.eclipse.team.core.ignore 为版本控制忽略列表增加了模式。   3
org.eclipse.team.core.projectSets 提供用于读写项目集的处理程序(团队共享项目的集合)。   2
org.eclipse.team.core.repository 定义新的团队Provider。 2.0 2
org.eclipse.team.ui.configurationWizards 提供向导来负责关联项目和团队Provider。   2
org.eclipse.ui.acceleratorConfigurations 2.1版作废:改用commands扩展。定义加速器配置以供用户在[首选项]页中选择。 2.0 2
org.eclipse.ui.acceleratorScopes 2.1版作废:改用commands扩展。定义限定加速器集活动范围的作用域。 2.0 2
org.eclipse.ui.acceleratorSets 2.1版作废:改用commands扩展。为工作区actions定义键盘快捷键的集合。 2.0 4
org.eclipse.ui.actionDefinitions 2.1版作废:改用commands扩展。定义actions。 2.0 2
org.eclipse.ui.actionSetPartAssociations 将action集与工作台部件关联,当工作台部件活动时令其可见。   4
org.eclipse.ui.actionSets 定义action集(菜单或工具栏项目)在用户自定义视图中的显示。   2
org.eclipse.ui.capabilities 2.1版未实现:注册新项目性能。
org.eclipse.ui.commands 定义命令、命令目录以及默认快捷键。 2.1 4
org.eclipse.ui.decorators 增加根据视图状态来修改图标或项目标签的修饰程序。 2.0 2
org.eclipse.ui.documentProviders 为给定的扩展名或输入类型注册文档provider类。在打开编辑器时使用。   2
org.eclipse.ui.dropActions 定义一个处理程序以使此插件的对象能够拖放到其他插件的视图中。   2
org.eclipse.ui.editorActions 为其他插件注册的菜单和工具栏增加actions。   2
org.eclipse.ui.editors 给工作台增加新的编辑器。   2
org.eclipse.ui.elementFactories 定义元素生成器,以便在关闭Eclipse时重建存盘了的对象。   2
org.eclipse.ui.exportWizards 创建显示在[导出]对话框中的向导。   2
org.eclipse.ui.fontDefinitions 注册给工作台使用的新字体。 2.1 2
org.eclipse.ui.importWizards 创建显示在[导入]对话框中的向导。   2
org.eclipse.ui.markerHelp 提供一种方法来获取标记的帮助信息。 2.0 3
org.eclipse.ui.markerImageProviders 为新的标记类型提供图像。 2.1 2
org.eclipse.ui.markerResolution 增加类来对以特定标记类型标记的问题给出快速修正建议。 2.0 3
org.eclipse.ui.markerUpdaters 定义标记的更新策略,以便在保存其资源时按照其位置和文字来更新其属性。 1.0 2
org.eclipse.ui.newWizards 为[新建]对话框增加向导,可以新建目录以放置程序。   2
org.eclipse.ui.perspectiveExtensions 扩展其他插件定义的透视图。允许你添加菜单、工具栏项目、快捷键、视图等等。   4
org.eclipse.ui.perspectives 定义新透视图。   2
org.eclipse.ui.popupMenus 为其他插件定义的对象、视图或编辑器的弹出菜单增加项目。   2
org.eclipse.ui.preferencePages 在[首选项]对话框中增加页面。   2
org.eclipse.ui.projectNatureImages 定义依据项目性质来修饰其图像的小图标。   2
org.eclipse.ui.propertyPages 为一种给定类型的工作空间对象增加属性页。   2
org.eclipse.ui.resourceFilters 为显示资源的视图(如[导航]视图)增加预定义过滤器。   3
org.eclipse.ui.startup 标记当Eclipse加载时要启动的插件。 2.0 3
org.eclipse.ui.viewActions 在一个视图的菜单或工具栏中增加项目。   2
org.eclipse.ui.views 为工作台定义额外的视图。   2
org.eclipse.ui.workingSets 定义工作集向导页。 2.0 2
org.eclipse.update.core.featureTypes 创建一种新的特性类型来切换包装和验证架构。   1
org.eclipse.update.core.installHandlers 定义一个全局安装处理程序,可以被正在更新的特性引用。   1
org.eclipse.update.core.siteTypes 定义一个定制的更新站点布局。   1
org.eclipse.update.ui.searchCategory 内部:在[更新管理器]中增加新的搜索目录。   2

备注

1.ID属性是在标签中用一个相对ID定义的,并且该扩展仅能容纳一个元素。Eclipse将此ID附加到插件ID后。例如:
 
  
   
  

 


2.ID属性在标签内部的对象中定义,并且该扩展能包含多个元素。此ID必须完整。例如:
 
  
  
  ...
 


3.根本没有使用ID属性,所以可以省略它。

4.涉及到ID属性的一些其它的、非标准的用法(请参阅在线文档)。
<< Eclipse In Actio... / Eclipse vs NetBe... >>

专题推荐

不平凡的水果世界

不平凡的水果世界

平凡的水果世界,平凡中的不平凡。 今朝看水果是水果 ,看水果还是水果 ,看水果已不是水果。这境界,谁人可比?在不平凡的水果世界里,仁者见仁,智者见智。

中国春节的那些习俗

中国春节的那些习俗

正月是农历新年的开始,人们往往将它看作是新的一年年运好坏的兆示期。所以,过年的时候“禁忌”特别多。当然,各个地方的风俗习惯不一样,过年的禁忌也是不一样的。

评论
0/200
表情 验证码:

Addone

  • 文章总数0
  • 画报总数0
  • 画报点击数0
  • 文章点击数0
个人排行
        博文分类
        日期归档