[摘要:偶然碰到须要如许的功效,须要正在编纂器内部挪用项目内某指定文件的翻开操纵,先要猎取文件的IFile工具, 再应用IDE.openEditor(IWorkbenchPage, IFile);去翻开 public void open() { if (fName != null)]
有时遇到需要这样的功能,需要在编辑器外部调用项目内某指定文件的打开操作,先要获取文件的IFile对象,
再使用IDE.openEditor(IWorkbenchPage, IFile);来打开
public void open() { if (fName != null) { IWorkbenchPage wbPage = PlatformUI.getWorkbench() .getActiveWorkbenchWindow().getActivePage(); IFile file = getFile(fName); try { if (file != null) { IDE.openEditor(wbPage, file); } } catch (PartInitException e) { e.printStackTrace(); } return; } } /** * 根据文件名并指导其相对路径,取得该文件的IFile对象 * @author lifeng * @param fileName * @return * IFile * @datetime 2012-9-5 上午07:27:47 */ private IFile getFile(String fileName) { IProject prj = getActiveProject(); if (prj == null) { return null; } return prj.getFile("/src/" + fileName); } /** * 获取当前文件相关的项目对象 * @author leven * @return * IProject */ private IProject getActiveProject() { IEditorPart editor = PlatformUI.getWorkbench() .getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if (editor.getEditorInput() instanceof FileEditorInput) { FileEditorInput fei = (FileEditorInput) editor.getEditorInput(); IFile f = fei.getFile(); return f.getProject(); } return null; }
-----------------------------------------------------
转载请注明来源此处
原地址:#
发表