eclipse 插件开发中如何实现刷新和重编译

eclipse 插件开发中如何实现刷新和重编译

在做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 ));
感谢 luma@smth cloudor@smth的帮忙

你可能感兴趣的:(eclipse 插件开发中如何实现刷新和重编译)