Eclipse插件开发中实现刷新和重编译

3/23/2008来源:软件工程人气:7475

  在做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, new
SubProgressMonitor(monitor, 1));