在做eclipse插件开发中特别是自动生成代码或者uml>代码的插件中有时需要刷新一下文件夹或者重新编译一下那如何实现这两个操作呢
一实现刷新
一个关键的接口是orgeclipsecoreresourcesIResource
调用这个接口的refreshLocal方法即可例如refreshLocal(IResourceDEPTH_INFINITE null)
到底有哪些类实现了这个接口呢?
来看一下继承结构
首先继承自IResource的接口有IContainerIFolderIProjectIWorkspaceRootIFile一共个
加上IResource 个凡是实现这些接口的都可以
接口的继承结构
接口 extends
IResource 无
IContainer IResource
IFile IResource
IFolder IContainer
IProject IContainer
IWorkspaceRoot IContainer
类的继承结构
类 extends implements
Resource 无 IResource
Container Resource IContainer
File Resource IFile
Folder Container IFolder
Project Container IProject
WorkspaceRoot Container IWorkspaceRoot
二实现重编译(也就是clean)
clean all:
ResourcesPlugingetWorkspace()build(IncrementalProjectBuilderCLEAN_BUILD
monitor);
clean one project
((IProject) selection[i])build(IncrementalProjectBuilderCLEAN_BUILD new
SubProgressMonitor(monitor ));