zoukankan      html  css  js  c++  java
  • eclipse 自定义项目类型

    引用:http://www.oecp.cn/hi/slx/blog/5298

      Eclipse插件开发中允许我们自定义项目的类型,如已知的:java项目,js项目,maven项目。这些类似项目类型的定义都在对应的插件中存在的。我们也可以在自己开发的eclipse插件中,定义自己特有的项目类型。
        当我们在eclipse创建一个project,在project目录中都会有一个“.project”文件,这是个xml文件,里面记录这project的一些属性,如项目名称等等。用记事本打开这个文件,会找到这么一个节点<natures>里面的内容就是项目的性质。

    xml 代码
    1. <natures>  
    2.     <nature>oecp.project.bcproject</nature>  
    3.     <nature>org.eclipse.jdt.core.javanature</nature>  
    4. </natures>  

    上面的内容说明这个项目有两个性质。第一个是我自定义的项目性质oecp.project.bcproject,第二个是普通java项目。
        项目中有了这我们自定义的项目性质,我们在插件中就可以识别它了。接下来介绍下,这个自定义的项目的性质是怎么定义出来的。
        首先在插件描述文件,plugin.xml中添加一个扩展点,定义项目类型

    xml 代码
    1. <extension  
    2.          id="oecp.project.bcproject"  
    3.          point="org.eclipse.core.resources.natures">  
    4.       <runtime>  
    5.          <run class="oecp.plugin.project.OECPBCProject">  
    6.          </run>  
    7.       </runtime>  
    8.       <requires-nature  
    9.             id="org.eclipse.jdt.core.javanature">  
    10.       </requires-nature>  
    11.    </extension>  

    然后创建一个项目性质类oecp.plugin.project.OECPBCProject

    java 代码
    1. public class OECPBCProject extends PlatformObject implements IProjectNature {  
    2.   
    3.     private IProject project;  
    4.       
    5.     public void configure() throws CoreException {  
    6.     }  
    7.   
    8.     @Override  
    9.     public void deconfigure() throws CoreException {  
    10.     }  
    11.   
    12.     @Override  
    13.     public IProject getProject() {  
    14.         return project;  
    15.     }  
    16.   
    17.     @Override  
    18.     public void setProject(IProject project) {  
    19.         this.project = project;  
    20.     }  
    21. }  

    实现接口IProjectNature ,这样就简单的自定义了一种项目类型。
        插件开发时,我们获得Iproject对象后可以用下面语句获得我们定义的项目性质

    java 代码
    1. OECPBCProject pn = (OECPBCProject)project.getNature("oecp.project.bcproject");  
    2. return pn;  

        当然项目性质的用法不只是这么简单,还有很多发挥的空间。自己根据需要扩展就行了。
        现在项目前面的小图标还没有有没变化,接下来,我们来解决。这需要插件扩展另一个扩展点。

    xml 代码
    1. <extension  
    2.          point="org.eclipse.ui.ide.projectNatureImages">  
    3.       <image  
    4.             icon="icons/bc.gif"  
    5.             id="oecp.plugin.oecp.project.ico"  
    6.             natureId="oecp.project.bcproject">  
    7.       </image>  
    8.    </extension>  

        natureId指向的就是我们刚刚自定义的项目类型。这样自定义一个项目类型,并更改他的图标的功能就实现了。其实很简单,只是这方面中文资料不太多,基本都是英文的。我在这里记录一下我实现的过程,一是与大家分享,二是怕以后忘记了,做个备份。最后看一下效果。

  • 相关阅读:
    hdu 4258 Covered Walkway
    hdu 2337 Escape from Enemy Territory
    二分查找
    hdu 2335 Containers
    最大流 Dinic
    进程和并发编程
    黏包
    socket
    网络编程
    异常处理
  • 原文地址:https://www.cnblogs.com/sode/p/2762072.html
Copyright © 2011-2022 走看看