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