首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 热门框架 > Eclipse平台应用 > 正文
  • Eclipse插件开发中实现刷新和重编译
      2007-8-31  来源:javablog  编辑:Jsbulo  热度:

    在做eclipse插件开发中,特别是自动生成代码或者uml->代码的插件中,有时需要刷新一下文件夹或者重新编译一下.那如何实现这两个操作呢。

      一、实现刷新

      1、一个关键的接口是org.eclipse.core.resources.IResource

      调用这个接口的refreshLocal方法即可。例如refreshLocal(IResource.DEPTH_INFINITE, null)

      2、到底有哪些类实现了这个接口呢?

      来看一下继承结构

      首先继承自IResource的接口有IContainer、IFolder、IProject、IWorkspaceRoot、IFile一共5个
    加上IResource 6个,凡是实现这些接口的都可以。

      3、接口的继承结构

      接口 extends
      IResource 无
      IContainer IResource
      IFile IResource
      IFolder IContainer
      IProject IContainer
      IWorkspaceRoot IContainer

      4、类的继承结构

      类 extends implements
      Resource 无 IResource
      Container Resource IContainer
      File Resource IFile
      Folder Container IFolder
      Project Container IProject
      WorkspaceRoot Container IWorkspaceRoot

      二、实现重编译(也就是clean)

      clean all:
      ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.CLEAN_BUILD,monitor);

      clean one project
      ((IProject) selection[i]).build(IncrementalProjectBuilder.CLEAN_BUILD, newSubProgressMonitor(monitor, 1));