如何在eclipse中编写命令来清理项目?

时间:2013-11-22 16:06:26

标签: eclipse-plugin eclipse-rcp eclipse-cdt

我想写一个命令来清理c / c ++项目。我知道要做一个扩展org.eclipse.ui.menus的命令。但是如何实施清洁项目?我知道有 org.eclipse.ui.project.cleanAction 操作,但它会打开对话框,选择是清理所选项目还是清理所有项目。

1 个答案:

答案 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方法中的代码。