`

Eclipse插件基础篇一

 
阅读更多

名词翻译

  有一些名词在翻译的过程中可能会出现歧义,在这里统一一下。

  アーキテクチャ=architecture=架构

  プラットフォーム=platform=平台

  コンポーネント=component=组件

  其余的随时补充。

 1.Eclipse的架构

  Eclipse被作为java的IDE(集成开发环境)被广泛的应用,但是从本质上看Eclipse是一个整合了各种开发工具的平台。因此,它采用了可以自由的增加各种功能的插件架构技术。Eclipse平台的基本架构如图1-1所示。

 


图1-1 Eclipse的架构

  在这里,在最底层位置的是作为Eclipse插件架构基干的OSGi运行时。虽然在早期的Eclipse版本中已经开始使用插件架构了,但是在Eclipse3.0的时候才首次引入了OSGi。OSGi是open services gateway initiative的简称、原本是一种为嵌入式硬件开发的,使网络上的服务提供者和使用者交互(結びつける)的注册服务。Eclipse使用OSGi来进行插件的管理。

  OSGi运行时之上所有被配置的组件群都是以插件的方式提供的。SWT和JFace提供了用户接口(User Interface)的API。由于SWT和JFace并不依赖于Eclipse,也有可能被作为类库单独使用。Eclipse不仅把基本的用户接口作为工作台API(WorkBench API)提供出来,在后面要讲到的工作区(Workspace)内的资源通过资源API(Resource API)的形式也被作为基本API提供出来了。在这之上构建起了帮助系统以及基于更新管理器的自动更新等功能。

  从Eclipse平台的角度看,SWT、JFace、工作台的部分就是EclipseRCP(Rich Client Platform)。EclipseRCP是基于Eclipse的富客户端技术,Eclipse不仅是一个开发工具,也可以作为一个通用的应用程序平台。EclipseRCP是Eclipse平台的子集,同时,Eclipse自身也是一个EclipseRCP的运用实例。

  2.扩展点

  插件为了自身能够对其他插件进行扩展而提出了扩展点的概念。当要为插件增加功能的时候就可以利用这个扩展点。在扩展点的基础上,插件之间可以互相连接。

图1-2 使用扩展点进行扩展

  

  扩展和扩展点的连接在程序执行时被建立,提供扩展点的插件事先并不知道该扩展点实际被扩展了什么样的行为。使用扩展点的插件需要在清单文件(plugin.xml)中像代码1-1那样,使用extension元素声明扩展。

  extension元素中的schema由提供扩展点的插件决定,元素中的内容必须按照schema进行书写。

代码1-1 plugin.xml中声明扩展


  像上面这样的扩展点和扩展不断的积累重叠,使得Eclipse平台能够实现各种各样的功能。Eclipse平台提供的扩展点有

增加菜单项
增加视图
增加编辑器
  等等,数量非常的多。本文将以使用频率相对较高的扩展点为中心进行介绍,在Eclipse的帮助中有Eclipse提供的所有扩展点的说明,大家在使用时可以参考。

  当然,定义一个新的自制插件是绝对可能的。扩展点的定义方法会在[扩展点定义]章节中为大家详细介绍。

  3.工作台(Workbench)

  在这里认为看到本文的同学们都曾经用Eclipse做过java的开发。Eclipse的各个部分的名称大家也许都已经知道了。为了在以后的文章中统一意识,在这里我们再复习一下。

  工作台是Eclipse的整个用户接口的统称。工作台内的结构见图1-3

图1-3 工作台

  

工作台窗口
    Eclipse的窗口。通常一个工作台会打开一个窗口,但是也可能一个工作台对应多个窗口。

工作台页面
    在工作台上打开的每个透视图(用于特定用途的视图、编辑器的布局)和一个页面对应。可以包含多个视图和编辑器。

菜单栏
    和一般的GUI应用一样的菜单栏区域。

工具栏
    和一般的GUI应用一样的工具栏区域。默认情况下工具栏的右边区域用来显示透视图的列表

状态栏
    通常在画面的最下面显示的区域。编辑器的光标位置、生成进度状况等根据工作台上的操作内容显示各种信息。

视图
    作用是提供开发者想要的信息。可以收到状态栏内,必要时再打开(高速视图)。基本上一个视图在一个工作台内只能打开一个。

编辑器  
    主要用于文件的编辑。和视图不同编辑器可以同时打开多个。对于同一个文件也可以打开多个编辑器。

  从插件的代码中访问工作台使用org.eclipse.ui.PlatformUI类。代码1-2说明了从PlatformUI中取得工作台和工作台窗口的代码示例。

代码1-2 使用PlatformUI访问工作台


//取得工作台
IWorkbench workbench = PlatformUI.getWorkbench();
//取得工作台窗口
IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
//取得工作台页面
IWorkbenchPage page = window.getActivePage();
//取得当前处于活动状态的编辑器窗口
IEditorPart part = page.getActiveEditor();

  4.工作区和资源API

  在Eclipse中使用工作区作为开发人员的作业区域。工作区是在Eclipse启动时指定的一个物理文件夹。开发人员在Eclipse上生成工程、创建文件等操作都会在工作区指定的文件夹内生成实际的文件。

  工作区内的资源在Eclipse内部使用org.eclipse.core.resources包中定义的虚拟对象进行操作,例如工程是IProject、文件夹是IFolder、文件时IFile。

图1-4 工作区内的资源

  

  在插件开发的时候很多情况都会使用到工作区内的文件或者文件夹。这时就可以使用这些对象。

  对工作区的访问需要使用org.eclipse.core.resources.ResourcesPlugin。代码1-3是利用IWorkspaceRoot,去的工作区内的工程的代码示例

代码1-3 使用ResourcesPlugin访问工作区


//取得工作区的root
IWorkspaceRoot wsroot = ResourcesPlugin.getWorkspace().getRoot();
//取得项目
IProject[] projects = wsroot.getProjects();
  

  工作台和资源访问的API是Eclipse提供的API中最基本的,在插件开发时使用频率较高的API。在这里不做详细的说明,在以后得例子中会出现一些这样的API。使用PlatformUI作为工作台访问的入口点和使用ResourcesPlugin作为工作区访问的入口点,是无论如何也要记住的。

 

-Eclipse 插件开发 彻底攻略 基础篇(1) 插件开发的基础知识 完-

转载请注明出处,http://www.cnblogs.com/liuzhuo.

分享到:
评论

相关推荐

    Eclipse插件开发学习笔记全篇+源码.rar

    第一篇:基础篇 在这一篇中,你将学习到Eclipse插件开发的基础知识,包括: 1. 插件体系结构:理解Eclipse的插件模型,如何通过插件来构建可扩展的应用。 2. OSGi框架:Eclipse基于OSGi运行,了解OSGi的概念和它在...

    Eclipse插件开发 第1篇到第4篇 开发基础 核心技术 高级进阶 综合实例 eclipse 插件安装方法.zip

    首先,我们来看《Eclipse插件开发 学习笔记 第1篇 开发基础》。这一部分通常会介绍插件开发的基本概念,包括Eclipse插件体系结构、OSGi框架以及如何创建第一个Eclipse插件项目。开发者会学习到Plugin.xml文件的重要...

    Eclipse插件开发 第1篇到第4篇 开发基础 核心技术 高级进阶 综合实例 eclipse 插件安装方法

    Eclipse插件开发是软件开发领域中的一个重要环节,它允许开发者通过扩展Eclipse集成开发环境(IDE)的功能来提升工作效率。本系列涵盖了从基础到高级的全方面教程,旨在帮助开发者掌握Eclipse插件开发的核心技术和实践...

    Eclipse插件开发学习笔记 第三四篇(26-28)+原代码.rar

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar Eclipse插件开发 学习笔记 第一篇 开发基础(06-10).rar Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar Eclipse插件开发 学习笔记 第二篇 核心技术(17-...

    使用 Eclipse 插件开发环境构建模板

    1. 安装Eclipse IDE for RCP and RAP Developers,这个版本包含了开发Eclipse插件所需的工具。 2. 安装Plug-in Development Environment (PDE)工具集,这可以通过Eclipse的Marketplace或者在"Help" -> "Install New ...

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar Eclipse插件开发 学习笔记 第一篇 开发基础(06-10).rar Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar Eclipse插件开发 学习笔记 第二篇 核心技术(17-...

    Eclipse插件开发笔记—PDF—带目录

    《Eclipse插件开发》由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心...

    eclipse插件

    在本篇文章中,我们将深入探讨Eclipse插件的概念、开发过程以及它们如何增强Eclipse的功能。 一、Eclipse插件体系结构 Eclipse的插件体系基于OSGi(Open Service Gateway Initiative)框架,它将应用程序划分为独立...

    Eclipse插件开发学习笔记 第三四篇(22-25).rar

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar Eclipse插件开发 学习笔记 第一篇 开发基础(06-10).rar Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar Eclipse插件开发 学习笔记 第二篇 核心技术(17-...

    eclipse 插件开发01

    本书第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor...

    eclipse插件.zip

    这篇压缩包可能包含了一份关于如何开发Eclipse插件的文档,帮助开发者了解和掌握这一技术。 描述中提到了一个博客链接 "<https://lidechungo-126-com.iteye.com/blog/1575179>",虽然具体内容未给出,但可以推测这...

    Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar Eclipse插件开发 学习笔记 第一篇 开发基础(06-10).rar Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar Eclipse插件开发 学习笔记 第二篇 核心技术(17-...

    开发Eclipse插件之天气预报

    本篇将基于"开发Eclipse插件之天气预报"这个主题,深入探讨Eclipse插件开发的基本流程、涉及的技术点以及如何创建一个天气预报插件。 首先,Eclipse插件开发是基于Eclipse的Plug-in Development Environment(PDE)...

    eclipse插件开发2

    eclipse插件开发学习笔记第二部分,介绍SWT结构、常用组件

    Eclipse插件开发学习笔记 第一篇 开发基础 (第一章到第八章)

    本书的主要内容是介绍Eclipse插件开发的相关知识和技巧,包括Eclipse的系统结构、SWT/JFace技术、插件开发方法、RCP开发方法以及其他一些相关的技术专题。本书覆盖了Eclipse平台技术的核心领域,是目前市场上讲述...

    Eclipse插件开发学习笔记(ch0-3)

    【0 目录.pdf】和【1 第一篇 开发基础(封面).pdf】为书籍的目录和开篇部分,它们通常会给出整个学习路径的概览,包括章节结构、学习目标等,帮助读者更好地组织学习进度。 最后,【声明.txt】可能是作者对代码...

    《Eclipse插件开发学习笔记》源码

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    Eclipse插件开发学习笔记(第二篇 核心技术 9-13章)

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括 SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    专题资料(2021-2022年)eclipse插件安装方法.doc

    这篇专题资料主要介绍了两种Eclipse插件的安装方法,适用于2021-2022年的版本。 **一、内置方式安装** 内置方式安装是最基础的安装方法,适合于初学者或简单插件的添加。具体步骤如下: 1. 下载你需要的插件,...

    Eclipse插件开发+学习笔记(完整 清晰) part1

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

Global site tag (gtag.js) - Google Analytics