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

Eclipse plugin 如何在eclipse中编写命令来清理项目?,eclipse-plugin,eclipse-rcp,eclipse-cdt,Eclipse Plugin,Eclipse Rcp,Eclipse Cdt,我想写一个命令来清理c/c++项目。我知道要做一个扩展org.eclipse.ui.menu的命令。但是如何实施清洁工程呢?我知道有org.eclipse.ui.project.cleanAction操作,但它会打开对话框来选择是清除所选项目还是清除所有项目。您可以重用org.eclipse.ui.internal.ide.dialogs.cleanalog类中的代码。默认情况下,CleanDialog加载工作区内的所有项目,并自动选择在project explorer视图中选择的所有项目。通过

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

您可以重用org.eclipse.ui.internal.ide.dialogs.cleanalog类中的代码。默认情况下,CleanDialog加载工作区内的所有项目,并自动选择在project explorer视图中选择的所有项目。通过修改createProjectSelectionTable方法(请参见第272行projectNames.addFilter)中的代码,您只能筛选C/C++项目,如下所示

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