Java Eclipse插件开发 - 通过打开带有已更改文件列表的对话框保存所有项目的文件

时间:2018-01-02 03:27:43

标签: eclipse eclipse-plugin

此问题已发布在链接Java Eclipse plugin Development - Save all project's files programmatically

我正在尝试使用下面的代码,但它不起作用/所以我有查询,我需要在plugin.xml中添加什么条目,以便我使用ctrl + s或ctrl + all + save icon下面应该开始工作。或者如果我有完整的例子,它会更好。

import org.eclipse.core.resources.IProject;

@SuppressWarnings("restriction")
public class SaveOpenFilesHandler extends org.eclipse.debug.internal.ui.launchConfigurations.SaveScopeResourcesHandler
{   
       public void showSaveDialog(IProject project)
       {
           super.showSaveDialog(new IProject[] {project}, true, true);
           super.doSave();
       }
}

2 个答案:

答案 0 :(得分:0)

IDE.saveAllEditors方法是最接近官方的API:

public boolean saveAllEditors(IResource[] resources, boolean confirm)
  

保存工作台中对文件打开的所有脏编辑器   可能会受此操作的影响。打开一个对话框以提示用户   如果确认是真的。如果成功则返回true。如果是,则返回false   用户已取消该命令。必须从UI线程调用。

最简单的呼吁是:

IDE.saveAllEditors(new IResource[]{ResourcesPlugin.getWorkspace().getRoot()}, true);

保存工作区中的所有内容。

IDEorg.eclipse.ui.ide.IDE

答案 1 :(得分:0)

我已经在早期启动时做到了这一点,现在它对我来说很好。