我需要一个eclipse插件,用于保存已打开的编辑器。 我知道Extended VS Presentation很好,但还有其他更好的插件吗?
答案 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);
}
}