eclipse中如何打开一个编辑器
来源:互联网 发布:d3.v3.min.js 编辑:程序博客网 时间:2024/05/24 15:35
原文:http://www.cnblogs.com/youngerbaby/articles/380100.html
eclipse中打开一个编辑器要调用
IWorkbenchPage.openEditor(IEditorInput input, String editorId)
因此要打开一个编辑器要获得3个对象,IWorkbenchPage实例、IEditorInput实例、editorId
1. 获得IWorkbenchPage实例
1IWorkbenchWindow dwindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
2IWorkbenchPage wbPage = dwindow.getActivePage();
2IWorkbenchPage wbPage = dwindow.getActivePage();
2. 获得IEditorInput实例
private IProject getActiveProject() {
IEditorPart editor = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
if (editor.getEditorInput() instanceof FileEditorInputProxy) {
FileEditorInputProxy fei = (FileEditorInputProxy) editor
.getEditorInput();
IFile f = fei.getFile();
return f.getProject();
}
return null;
}
IEditorPart editor = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
if (editor.getEditorInput() instanceof FileEditorInputProxy) {
FileEditorInputProxy fei = (FileEditorInputProxy) editor
.getEditorInput();
IFile f = fei.getFile();
return f.getProject();
}
return null;
}
private IFile getFile(String fileName) {
IProject prj = getActiveProject();
if (prj == null)
return null;
try {
IResource[] members = prj.members();
for (IResource r : members) {
if (r.getName().equals(fileName)) {
return (IFile) r;
}
}
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
IProject prj = getActiveProject();
if (prj == null)
return null;
try {
IResource[] members = prj.members();
for (IResource r : members) {
if (r.getName().equals(fileName)) {
return (IFile) r;
}
}
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
3. 获得打开Editor的editorId
editor plugin.xml里面定义的editorId,如果不知道的话可以用下面代码获得:
private String getEditorID(IFile file) {
IEditorDescriptor desc = null;
try {
desc = IDE.getEditorDescriptor(file);
} catch (PartInitException e) {
// TODO Auto-generated catch block
}
if (desc == null)
return YourPlugin.getDefault().getWorkbench()
.getEditorRegistry().findEditor(
IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID).getId();
else
return desc.getId();
}
IEditorDescriptor desc = null;
try {
desc = IDE.getEditorDescriptor(file);
} catch (PartInitException e) {
// TODO Auto-generated catch block
}
if (desc == null)
return YourPlugin.getDefault().getWorkbench()
.getEditorRegistry().findEditor(
IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID).getId();
else
return desc.getId();
}
三个对象实例都有了,就可以调用上面第一行代码打开编辑器了!
IWorkbenchPage.openEditor(new FileEditorInput(IFile), editorId)
- eclipse中如何打开一个编辑器
- eclipse中如何打开一个编辑器
- 如何在eclipse中打开一个存在的projeect
- Eclipse中LogCat如何打开
- Eclipse中LogCat如何打开
- Eclipse中LogCat如何打开
- excel 2007中如何打开VBA编辑器
- excel 2007中如何打开VBA编辑器
- 如何在Word中打开公式编辑器
- 如何设置Eclipse编辑器的默认文件打开方式
- 如何设置Eclipse编辑器的默认文件打开方式
- 如何设置Eclipse编辑器的默认文件打开方式
- eclipse中 编辑器里 如何显示行号?
- eclipse中设置文件的默认打开编辑器
- C# WinForm中如何打开一个超链接
- C# WinForm中如何打开一个超链接
- VC中如何打开一个程序
- c#中如何打开一个文件夹
- SQL事务
- 复位应答ATR的基本结构和数据元
- 指针型形参和指针引用的传递
- Embeding Video Players in web pages Summary
- 【转】java虚拟机学习笔记1
- eclipse中如何打开一个编辑器
- 瑞通免狗补丁
- Virtualbox安装失败——————Installation of MSI failed!ERROR:1601
- GeoServer安装配置 wms服务字符串
- wu
- VS2010 MSDN安装方法
- 3D立体产业链的发展现状和趋势
- foj 1229 和谐短信问题
- Oracle分区表