Since 3.3 you can use the new EFS support to open an text editor on a file outside the workspace:
Stringname=newFileDialog(aShell,SWT.OPEN).open();
if(name==null)
return;
IFileStorefileStore=EFS.getLocalFileSystem().getStore(newPath(filterPath));
fileStore=fileStore.getChild(names[i]);
if(!fileStore.fetchInfo().isDirectory()&&fileStore.fetchInfo().exists())...{
IWorkbenchPagepage=window.getActivePage();
try...{
IDE.openEditorOnFileStore(page,fileStore);
}catch(PartInitExceptione)...{
/**//*somecode*/
}
Alternatively, you can create a linked resource in an existing project, which points to a file elsewhere in the file system. This example snippet creates a project called “External Files,” and then prompts the user to select any file in the file system. The code then creates a linked resource in the project to that external file, allowing the platform to open the file in read/write mode in one of the standard editors:
IWorkspacews=ResourcesPlugin.getWorkspace();
IProjectproject=ws.getRoot().getProject("ExternalFiles");
if(!project.exists())
project.create(null);
if(!project.isOpen())
project.open(null);
Shellshell=window.getShell();
Stringname=newFileDialog(shell,SWT.OPEN).open();
if(name==null)
return;
IPathlocation=newPath(name);
IFilefile=project.getFile(location.lastSegment());
file.createLink(location,IResource.NONE,null);
IWorkbenchPagepage=window.getActivePage();
if(page!=null)
page.openEditor(file);
本文介绍如何使用EFS支持在工作空间之外打开文本编辑器编辑文件,以及如何在现有项目中创建指向文件系统的外部文件的链接资源,允许平台以读写模式在标准编辑器中打开这些文件。
753

被折叠的 条评论
为什么被折叠?



