我想写一个命令来清理c / c ++项目。我知道要做一个扩展org.eclipse.ui.menus的命令。但是如何实施清洁项目?我知道有 org.eclipse.ui.project.cleanAction 操作,但它会打开对话框,选择是清理所选项目还是清理所有项目。
答案 0 :(得分:0)
您可以重用 org.eclipse.ui.internal.ide.dialogs.CleanDialog 类中的代码。默认情况下,CleanDialog将加载工作空间中存在的所有项目,并自动选择在项目资源管理器视图中选择的所有项目。您可以通过修改createProjectSelectionTable方法中的代码来过滤C / C ++项目(参见第272行projectNames.addFilter),如下所示
if(!project.hasNature("org.eclipse.cdt.core.cnature") //For c projects || !project.hasNature("org.eclipse.cdt.core.ccnature") // For c++ projects) {
return false;
}
如果您想避免打开CleanDialog,请重新使用buttonPressed方法中的代码。