1

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

4

2 回答 2

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);
}

希望有帮助...

于 2012-07-20T11:03:22.000 回答
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);
    }
}
于 2016-04-12T07:10:54.620 回答