Java 以编程方式保存Eclipse编辑器
我正在开发一个插件 单击按钮后,我想调用Eclipse的save方法或调用Eclipse工具栏上的save按钮 怎么做Java 以编程方式保存Eclipse编辑器,java,eclipse-plugin,eclipse-rcp,Java,Eclipse Plugin,Eclipse Rcp,我正在开发一个插件 单击按钮后,我想调用Eclipse的save方法或调用Eclipse工具栏上的save按钮 怎么做 org.eclipse.ui.PlatformUI.getWorkbench().saveAll(..) 我们应该做到这一点 如果要保存活动编辑器,请重试 IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); IEditorPart editor
org.eclipse.ui.PlatformUI.getWorkbench().saveAll(..)
我们应该做到这一点
如果要保存活动编辑器,请重试
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorPart editor = page.getActiveEditor();
page.saveEditor(editor, true /* confirm */);
请注意,导航路径中的元素可能为空。我使用此选项为一个或多个项目保存脏编辑器:
//Save all changes
Display.getDefault().syncExec(new Runnable() { // save all editors needs to be called by the ui thread!
@Override
public void run() {
IDE.saveAllEditors(new IResource[]{prj}, true);
}
});
其中,prj
是一个IProject对象
希望这有帮助
再见,我用过-
IDEWorkbenchPlugin.getDefault().getWorkbench().saveAllEditors(true);
谢谢Sebastian,但是它保存了所有打开的编辑器。我只想保存当前(活动)的编辑器。您能告诉我如何实现它吗?注意:
IDEWorkbenchPlugin
是内部的,不应该使用。如果您没有访问窗口或页面的权限,您可以求助于PlatformUI.getWorkbench()
,它是API。