//各种代码editor:
//从TextEditor继承,调用setSourceViewerConfiguration,
//并传进去一个从SourceViewerConfiguration 继承的配置类,
//就可以实现
public class SourceEditorTest extends TextEditor {
public SourceEditorTest(){
setSourceViewerConfiguration(new SourceViewerConfigurationTest());
}
//...................
}
class SourceViewerConfigurationTest extends SourceViewerConfiguration{
//...................
}
//得到文件的编辑器的方法:
public static IEditorPart findEditor(IFile file){
IEditorReference[] editors = getActivePage().getEditorReferences();;
for (int i = 0; i < editors.length; i++) {
IEditorPart part = (IEditorPart)editors[i].getPart(false);
if (part != null ){
IEditorInput input = part.getEditorInput();
if(input instanceof FileEditorInput && ((FileEditorInput)input).getFile().equals(file))
return part;
}
}
return null;
}
//得到工作区中所有工程的方法:
IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
.getProjects();
//这在开发自己的工程向导的时候很有用处。
//工程特有文件判断方法
project.getFile("cownew.prj").exists();
project.getDescription().hasNature();
//给工程增加Nature的方法:
IProjectDescription desc = project.getDescription();
String[] oldNatureIds = desc.getNatureIds();
String[] newNatureIds = new String[oldNatureIds.length +1];
System.arraycopy(oldNatureIds, 0, newNatureIds, 0, oldNatureIds.length);
newNatureIds[oldNatureIds.length] = "CowNewNature";
desc.setNatureIds(newNatureIds);
project.setDescription(desc, monitor);
//创建文件夹的方法:
IFolder folder = project.getFolder("myfold");
if (folder!=null && !folder.exists())
folder.create(false, true, null);
文章来自:http://blog.csdn.net/hxshandle/archive/2008/03/28/2226376.aspx