`

eclipse 插件开发之plugin.xml详解

阅读更多

在一个eclipse plugin的开发中plugin.xml是必须的,那么我们需要关注哪些点
我们用eclipse中的plug-in manifest edtor打开,我们可以看到在editor区域中看到几个tab页,下面分别介绍:

Overview 
这里是这个插件工程的一些基本信息介绍,比如插件的名字,版本,id,编译执行环境等。我们需要关注的是右下角的Testing,这里提供了我们在开发中运行插件的两种方式普通和debug模式。

当然说到运行,我们还有其他的方式:

  • 在package或navigator视图下选择工程右键>Run As>Run Configuration
  • 直接在toolbar区域选择Run As/Debug As进行运行时的配置

这里说一个在开发中遇到的问题,在开发的开始阶段老是遇到java.lang.OutOfMemoryError: PermGen space,开始以为eclipse.ini中VM的配置参数过低,但在进行了相应的修改后启动仍然内存溢出,最后是在configurations中的Argument中显示配置VM参数解决,比如

在VM arguments中设置

Java代码  收藏代码
  1. -Xms128m -Xmx256m -XX:PermSize=128m -XX:MaxPermSize=128m  

 

难道是打开的plugin运行时启动的eclipse会吃掉主的内存,导致分配的太少而溢出?

既然说到run configuration,那么可能还有几个需要关注

  • Main tab下的一些配置
  • Plug-ins下lanch with中的插件可能默认会全部选中,其实我们可以先Deselect All,然后选中我们需要运行的plugin,再Add Required plug-ins


Dependecies 
这里是这个插件工程需要依赖的各种插件,这里包括依赖eclipse本身的各种组件。比如运行时org.eclipse.core.runtime,比如你需要在你插件工程中打开java文件,那么需要org.eclipse.jdt.core、org.eclipse.ui.workbench.texteditor等,同时你也可以增加第三方依赖插件。通过Add按钮,在弹出窗中输入相应的插件添加

Runtime 
我们可以看到两个地方需要关注:

  • Exported Packages:这个是你这个插件中向外暴露的包,你可以添加需要向外暴露的结构,那么应用你这插件的其他工程就可以访问你相应的接口
  • Classpath:当前插件工程运行依赖的第三方jar包,一般我们把第三方依赖的包放在工程根目录下的lib文件夹内


Extensions/Extensions Points 
扩展和扩展点,前者是指引入其他插件的扩展点,后者是当前工程暴露出的扩展点。

  • 比如你的插件工程中有视图,那么你需要引入org.eclipse.ui.views在这个扩展点下,你可以定义相关的视图。这里引入也会在plugin.xml中体现:point="org.eclipse.ui.views"
  • 如果这个扩展点下可以有多个view视图,也可以有category标签会将相应的视图归类,比较直观的是在eclipse的window>show view>...中体现

至于扩展点,网上例子较多,在实际项目中没有使用,不便多说

Build 
这是编译插件时需要包含的资源,在Binary Build的时候勾上需要的资源吧,记得在开始的时候老是忘记lib包,导致编译错误或使用就报错

MANIFEST.MF和build.properties 
这里其实对前几个tab页中内容自动生成,比如包含Require-Bundle、Bundle-ClassPath、Export-Package等

plugin.xml 
这部分内容是比较重要的,比如描述了各种actionSets,extension point

  • 比如声明一个视图
Xml代码  收藏代码
  1. <extension  
  2.       id="com.plugin.sample.sampleView"  
  3.       point="org.eclipse.ui.views">  
  4.    <category  
  5.         name="Sample"  
  6.         id="com.plugin.eclipse.sample">  
  7.    </category>  
  8.    <view  
  9.          category="com.plugin.eclipse.sample"  
  10.          class="com.plugin.eclipse.sample.views.SampleView"  
  11.          icon="icons/sample.png"  
  12.          id="com.plugin.eclipse.samle.views.sampleView"  
  13.          name="SampleView">  
  14.    </view>  
  15. </extension>  
  • 比如某个菜单只作用于java类
Xml代码  收藏代码
  1. <extension  
  2.          point="org.eclipse.ui.popupMenus">  
  3.       <objectContribution  
  4.             id="com.plugin.eclipse.sample.popupMenu"  
  5.             objectClass="org.eclipse.core.resources.IFile"  
  6.             adaptable="true"  
  7.             nameFilter="*.java">       
  8.          <menu  
  9.                label="Sample"  
  10.                path="additions"  
  11.                id="com.plugin.eclipse.sample.menu"  
  12.                icon="icons/sample.png">  
  13.             <separator  
  14.                   name="group">  
  15.             </separator>  
  16.          </menu>  
  17.           <action  
  18.                 class="com.plugin.eclipse.sample.SampleAction"  
  19.                 enablesFor="+"  
  20.                 icon="icons/sample.png"  
  21.                 id="com.plugin.eclipse.sample.sampleAction"  
  22.                 label="SampleAction"  
  23.                 menubarPath="com.plugin.eclipse.sample.menu/group">  
  24.          </action>  
  25.       </objectContribution>  
  26.    </extension>  
分享到:
评论

相关推荐

    maven-eclipse_plugin.zip

    【Maven Eclipse Plugin详解】 Maven Eclipse Plugin是Apache Maven项目的一部分,它主要负责将Maven构建过程与Eclipse IDE集成,使得开发人员能够在Eclipse环境中方便地管理Java项目的依赖、构建以及生命周期。这...

    mybatis【mapper.xml类提示eclipse插件】【正式版下载】

    ### MyBatis Eclipse 插件知识点详解 #### 一、MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。...

    Eclipse插件开发系列.pdf

    ### Eclipse插件开发系列知识点详解 #### 一、Eclipse插件开发背景及意义 Eclipse作为一款开源的集成开发环境(IDE),以其强大的可扩展性而闻名。它不仅仅局限于Java开发,通过丰富的插件支持,可以扩展为适用于...

    eclipse插件开发实战

    ### Eclipse 插件开发实战详解 #### 一、Eclipse 内核结构与扩展点机制 **1. Eclipse 内核结构概述** Eclipse 的核心是插件加载器,整个平台由众多插件组成,其架构特点在于轻量级的核心与高度可扩展的设计。在...

    eclipse插件开发 rcp入门开发详细讲解一

    ### Eclipse RCP插件开发详解 #### 一、Eclipse RCP概述 Eclipse RCP (Rich Client Platform) 是一种基于Java技术构建的框架,用于开发功能丰富的桌面应用程序。它利用了Eclipse平台的核心组件,如工作台...

    eclipse-maven3-plugin.rar

    《Eclipse Maven插件详解与应用》 在Java开发领域,Eclipse作为一款强大的集成开发环境,深受广大开发者喜爱。而Maven作为一个项目管理和综合工具,对于构建、依赖管理以及项目标准化有着重要作用。将这两者结合,...

    eclipse简介和插件开发.pdf

    ### Eclipse简介及插件开发详解 #### 一、Eclipse概述 Eclipse 是一款非常流行的开源集成开发环境(IDE),以其强大的功能和高度的可扩展性受到广大开发者的喜爱。作为一个初学者友好的平台,Eclipse 提供了一个...

    eclipse插件开发之扩展项目特性

    【描述】:本文将深入探讨如何在Eclipse环境中开发插件,特别是在项目中添加自定义的项目特性,以增强Eclipse的功能并创建个性化的工作环境。我们将关注JDT(Java Development Tools)模型的使用,以及如何利用...

    tk.eclipse.plugin.jsf_2.0.3.zip

    **JSF Eclipse 插件详解** `tk.eclipse.plugin.jsf_2.0.3.zip` 是一个专门为Eclipse集成开发环境设计的插件,用于支持JavaServer Faces (JSF)技术。JSF是一种用于构建企业级Web应用的MVC(模型-视图-控制器)框架,...

    Eclipse插件开发系列

    ### Eclipse插件开发系列知识点详解 #### 一、Eclipse插件开发背景及意义 Eclipse作为一款开源的集成开发环境(IDE),以其强大的可扩展性而闻名。它不仅仅是一款Java开发工具,通过丰富的插件支持,Eclipse可以被...

    eclipse插件大全介绍.

    Eclipse的强大之处在于其丰富的插件生态系统,用户可以根据自己的需求安装不同的插件来增强开发体验。 #### 二、Eclipse 插件详细介绍 ##### 1. EMF, GEF-Graphical Editor Framework, UML2, VE-Visual Editor - *...

    Eclipse插件开发之入门

    1. **设置引用项目**:在开发插件的过程中,经常需要引用 Eclipse 已有的插件或库中的类和资源。因此,首先需要设置好引用项目。 - **步骤**:从资源透视图中,选择“文件 &gt; 导入 &gt; 外部插件和段”。接着,在下...

    eclipse插件

    **Eclipse插件详解** Eclipse是一款开源的集成开发环境(IDE),广泛应用于Java、C++、Python等编程语言的开发。它以其强大的扩展性而著名,这主要体现在丰富的插件系统上。Eclipse插件允许开发者根据自己的需求...

    eclipse插件开发

    此外,为Eclipse开发插件也是提升个人技能和竞争力的有效途径。 #### 三、Eclipse插件开发基础 ##### 1. 插件模型 Eclipse的插件模型基于OSGi(Open Service Gateway Initiative)规范。每个插件都是一个独立的...

    maven与Eclipse集成插件

    ** Maven与Eclipse集成插件详解 ** Maven是一个强大的项目管理和构建工具,在Java开发领域广泛应用。它通过一套规范化的构建过程,管理项目的依赖、构建生命周期以及项目信息,极大地简化了项目的构建和维护工作。...

    eclipse入门到精通2.pdf

    ### Eclipse 插件开发知识点详解 #### 一、概述 在《Eclipse从入门到精通》这本书中,第18章专门介绍了Eclipse插件开发中的常用扩展点。这一章节对于初学者来说非常重要,因为它详细讲解了如何通过扩展点来增强...

    eclipse安装开发插件ADT插件下载

    不过,根据你提供的信息,你已经拥有一个名为"eclipse安装开发插件ADT插件下载"的压缩包文件,其中可能包含了ADT插件的安装文件。这个压缩包中的文件包括`index.html`(可能是一个介绍页面)、`说明文档.txt`(安装...

    eclipse3.4 插件配置

    ### Eclipse 3.4 插件配置详解 在软件开发领域,Eclipse 是一款非常流行的集成开发环境(IDE),广泛应用于 Java 开发中。随着版本的不断更新与优化,Eclipse 在功能上也有了显著提升。本文将详细介绍 Eclipse 3.4 ...

Global site tag (gtag.js) - Google Analytics