前面已经实现了文件的创建,刚创建文件时,软件会寻找合适的编辑器将其打开。若将文件关闭,再次双击文件尝试打开,会发现文件无法打开。
目标本文将介绍双击自定义导航中的文件,打开文件的方法。
实现在MainNavigator重写 CommonNavigator 的方法 handleDoubleClick
@Override
protected void handleDoubleClick(DoubleClickEvent anEvent) {
super.handleDoubleClick(anEvent);
IWorkbenchPage activePage = WorkbenchUtil.getActivePage();
ISelection selection = anEvent.getSelection();
if (!(selection instanceof TreeSelection)) {
return;
}
TreeSelection treeSelection = (TreeSelection) selection;
Object firstElement = treeSelection.getFirstElement();
if (!(firstElement instanceof IFile)) {
return;
}
IFile input = (IFile) firstElement;
WorkbenchUtil.openEditor(activePage, input);
}
WorkbenchUtil 中 openEditor 方法如下:
public static void openEditor(IWorkbenchPage page, IFile input) {
try {
IDE.openEditor(page,input);
} catch (PartInitException e) {
LogUtil.warn(WorkbenchUtil.class, "打开文件失败");
e.printStackTrace();
}
}
效果
- 新建 add.txt 与 tt.form 文件,然后将其关闭
- 在导航栏中双击以上两个文件,尝试打开
打开效果如下:
其中form文件编辑器见
Eclipse插件(RCP)自定义编辑器
Eclipse插件(RCP)自定义编辑器添加Dirty效果
本文对其图标和后缀做了修改
CNF系列汇总
Common Navigator Framework 实践(一)自定义导航
Common Navigator Framework 实践(二)菜单扩展
Common Navigator Framework 实践(三)文件拖拽控制
Common Navigator Framework 实践(四)文件过滤
Common Navigator Framework 实践(五)菜单及工具条定制
- Common Navigator Framwork 参考资料
- epx



