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

2008-04-10 10:35:42  作者

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

一、实现刷新

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));