扩展Eclipse的Java开发工具 - 编程入门网
开发环境。
本质上,Eclipse 是一组松散绑定但互相连接的代码块。如果搞清楚这些代码块如何被“发现”,以及它们之间怎样相互发现和扩展,就能了解 Eclipse 体系结构的基本原理。 图 2. Eclipse 平台体系结构 扩展 vs 扩展点 要知道这两者的 XML 标记十分相似。 扩展点 声明插件的功能对于其它插件的可用性,它用 <extension-point> 标记表示。 扩展 使用以前定义好的扩展点,用 <extension> 标记表示,该标记使用 point 属性来指定它希望使用的扩展点。 这些功能单元称为 插件。Eclipse 平台运行时(参见图 2)负责在名为 plugin.xml 的文件中查找这些插件的声明(称为 插件清单),每个 plugin.xml 文件都在各插件的子目录中,这些子目录位于 Eclipse 的安装目录下名为 plugins 的公共目录(具体而言,就是 <inst_dir>\eclipse\plugins)。根据这些文件,Eclipse 平台运行时就在启动时在内存中构建一个全局注册表,称为 插件注册表,根据这个注册表,给定的插件就可以在运行时确定其它哪些插件希望扩展它。希望被其它插件扩展的插件将声明一个 扩展点。这是插件的某种“电源板”,通过对插件声明 扩展,其它插件就可以利用这个插件。 回到我们的示例,那么任务就是通过查找满足我们需要的相应扩展点来决定从哪里“插入” Eclipse。幸运的是,一旦使用 Eclipse 一段时间后,您就会知道有数量惊人的东西可以使用,尽管可能您还没有实际使用过。这是因为您在 Eclipse 用户界面所看到的与由构成 Eclipse 插件的类所建的模型通常几乎是一一对应的。图 3 使这一点更为清晰: 图 3. 视图及其模型 扩展Eclipse的Java开发工具(3)时间:2011-02-23 IBM Dan Kehn这里我们看到一系列普通的用户界面,右侧的是最广为人知的用户界面 - 命令提示符(Command Prompt)窗口,在其中用 dir 命令显示文件系统内容,然后是左边专门化程度较高的视图 - JDT 的 Package Explorer。从用户界面的角度来看,所有这些视图都将同一“模型”(也就是一些文件)的表示可视化。作为 Eclipse 用户,我们很自然地会希望这两个 Eclipse 视图同时向我们提供查看同一事物的不同方法:Navigator 展示了部分操作系统文件的专门化视图(Eclipse 的工作空间),而 Package Explorer 向我们展示了同样的一些文件,这些文件是用对 Java 程序员而言更自然更高效的方法组织和表示的。 通过了解 Eclipse 用户界面如何反映其底层模型,以及 Eclipse 模型如何成为相互构建的基础,这向我们提供了该如何找到“插入”我们扩展的最佳位置的重要线索。显示在视图下面的 Eclipse 接口名称 IFile 和 ICompilationUnit 就是我们可以预期从构成 Eclipse 的模型中获得的两个接口示例。由于它们通常对应于用户界面中显示的控件项,所以您已经对通过编程获得的效果有一个直观的感受。 这是我们“旅行”的第 I 部分。在第 II 部分中,我们将讨论开发解决方案。我们不打算提供这个解决方案并逐一解释,探索其中的一些奥秘,这不是更有趣吗?让我们首先讨论与以下这个问题相关的一些问题:使用我们自己的方法可视性重构能力来扩展 JDT。 把问题问在点子上比知道答案更重要 我们先探讨一些常规问题: 在用户界面中,如何显示扩展,以及显示在何处? 通常如何扩展用户界面? 对用户界面的扩展如何知道类似于“选择”这样的基本事件? 我们对基本 Eclipse 领域有了很好的了解之后,将转向一些特定于 JDT 的问题: 如何扩展 JDT 的特定元素的用户界面(象 Outline 视图中显示的成员)?扩展视图还是它们的底层模型? Package Explorer 中显示的元素和其它视图(如 Outline 视图) |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |