Welcome

首页 / 软件开发 / JAVA / Eclipse插件开发中实现刷新和重编译

Eclipse插件开发中实现刷新和重编译2009-11-02 javablog dreamstone在做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));