如何在SWT中调用FormEditor的doSave(IProgressMonitor)函数

how to call doSave(IProgressMonitor) function of FormEditor in SWT

在一个 Eclipse 插件项目中,我有一个扩展 FormEditor 的编辑器。用户可以在按下 Ctrl+S 时保存编辑器。我在编辑器中创建了一个保存按钮,所以我想在按下保存按钮时保存编辑器。我调用了editor的doSave(IProgressMonitor)函数,但是找不到IProgressMonitor的默认对象。我无法提供参数:IProgressMonitor。

保存编辑器的正确方法是调用 IWorkbenchPage saveEditor 方法,这将使用正确的进度监视器调用编辑器 doSave

使用类似于:

IEditorPart editorPart = ... your editor ...

IWorkbenchPage page = editorPart.getSite().getPage();

page.saveEditor(editorPart, false);