如何在Eclipse中以编程方式关闭编辑器 [英] How to close an editor programatically in eclipse

查看:110
本文介绍了如何在Eclipse中以编程方式关闭编辑器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们要在删除Eclipse中关闭项目(IProject)的所有打开文件。我可以通过项目的成员方法访问IFiles。我要关闭已删除项目的所有文件。

解决方案

您可以使用以下页面获取对打开的编辑器的引用:

  IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench()。getActiveWorkbenchWindow(); 
IWorkbenchPage页面= workbenchWindow.getActivePage();

IEditorReference [] editorRefs = page.getEditorReferences();

从引用中获取实际的编辑器部分:

  IEditorPart editor = editorRefs [index] .getEditor(true); 

获取编辑器输入:

  IEditorInput输入= editor.getEditorInput(); 

获取编辑器正在编辑的文件:



< pre class = lang-java prettyprint-override> IFile文件=(IFile)input.getAdapter(IFile.class);

关闭编辑器:

  page.closeEditor(editor,true); 


We want to close all opened files of a project (IProject) in eclipse when we delete it. I can reach IFiles via members method of a project. I want to close deleted project's all files.

解决方案

You can get references to the open editors on a page with:

IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage page = workbenchWindow.getActivePage();

IEditorReference[] editorRefs = page.getEditorReferences();

Get the actual editor part from the references with:

IEditorPart editor = editorRefs[index].getEditor(true);

Get the editor input:

IEditorInput input = editor.getEditorInput();

Get the file the editor is editing:

IFile file = (IFile)input.getAdapter(IFile.class);

Close an editor:

page.closeEditor(editor, true);

这篇关于如何在Eclipse中以编程方式关闭编辑器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆