如何在eclipse中保存打开的编辑器?

时间:2012-07-19 07:54:39

标签: eclipse eclipse-plugin

我需要一个eclipse插件,用于保存已打开的编辑器。 我知道Extended VS Presentation很好,但还有其他更好的插件吗?

2 个答案:

答案 0 :(得分:1)

此代码应该保存eclipse中所有打开(脏)的编辑器:

IEditorReference[] editorReferences = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
NullProgressMonitor monitor = new NullProgressMonitor();
if ( editorReferences != null ){ 
    for (IEditorReference iEditorReference : editorReferences) {
        IEditorPart editor = iEditorReference.getEditor(false);
        if ( editor.isDirty() )
            editor.doSave(monitor);
    }
}

在较新版本的eclipse中,您可以创建一个小捷径:

IEditorPart[] dirtyEditors = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getDirtyEditors();
for (IEditorPart iEditorPart : dirtyEditors) {
    iEditorPart.doSave(monitor);
}

希望有帮助...

答案 1 :(得分:0)

您也可以同时保存所有编辑器。

private void doCloseEditors(IWorkbenchPage pActivePage) {
    ArrayList<IEditorReference> openParts = new ArrayList<IEditorReference>();
    for (IEditorReference part : pActivePage.getEditorReferences()) {
        if (part.isDirty()) {
            openParts.add(part);
        }
    }
    if (openParts.size() > 0) {
        pActivePage.closeEditors(openParts.toArray(new IEditorReference[0]), true);
    }
}