|
<p ><p >在做eclipse插件开发中,特别是自动生成代码或者uml->代码的插件中,有时需要刷新一下文件夹或者重新编译一下.那如何实现这两个操作呢。<p ><p >一、实现刷新<p ><p >1、一个关键的接口是org.eclipse.core.resources.IResource<p ><p >调用这个接口的refreshLocal方法即可。例如refreshLocal(IResource.DEPTH_INFINITE, null)<p ><p >2、到底有哪些类实现了这个接口呢?<p ><p >来看一下继承结构<p ><p >首先继承自IResource的接口有IContainer、IFolder、IProject、IWorkspaceRoot、IFile一共5个<p >加上IResource 6个,凡是实现这些接口的都可以。<p ><p >3、接口的继承结构<p ><p >接口 extends<p >IResource 无 <p >IContainer IResource<p >IFile IResource<p >IFolder IContainer<p >IProject IContainer<p >IWorkspaceRoot IContainer<p ><p >4、类的继承结构 <p ><p >类 extends implements<p >Resource 无 IResource<p >Container Resource IContainer<p >File Resource IFile<p >Folder Container IFolder<p > roject Container IProject<p >WorkspaceRoot Container IWorkspaceRoot<p ><p >二、实现重编译(也就是clean)<p ><p >clean all:<p >ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.CLEAN_BUILD,<p >monitor);<p ><p >clean one project<p >((IProject) selection).build(IncrementalProjectBuilder.CLEAN_BUILD, new<p >SubProgressMonitor(monitor, 1));<p ><p >(责任编辑:董建伟) <p align="center"></p></p> |
|