0
я создаю проект C программно с использованием CDT:Programatically отключив строитель CDT на программно созданного проекта C
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceRoot root = workspace.getRoot();
String projectName = projectNames[indices[i]];
IProject newProjectHandle = root.getProject(projectName.replace("Examples_", ""));
IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName());
IProject project = CCorePlugin.getDefault().createCDTProject(description, newProjectHandle, new NullProgressMonitor());
ICProjectDescriptionManager mngr = CoreModel.getDefault().getProjectDescriptionManager();
ICProjectDescription des = mngr.createProjectDescription(project, false);
ManagedProject mProj = new ManagedProject(des);
Configuration cfg = new Configuration(mProj, null, projectName + ".id", projectName);
cfg.setManagedBuildOn(false);
IBuilder bld = cfg.getEditableBuilder();
bld.setManagedBuildOn(false);
bld.setAutoBuildEnable(false);
CConfigurationData data = cfg.getConfigurationData();
des.createConfiguration(ManagedBuildManager.CFG_DATA_PROVIDER_ID, data);
mngr.setProjectDescription(project, des);
Это работает точно так же, как и создание Makefile проекта от мастера C.
Теперь я хочу программно отключить конструктор CDT от свойств проекта.
Есть ли простой способ сделать это, добавив одну или две строки в моем коде создания проекта?
Глядя на странице Builder недвижимости 'org.eclipse.ui.externaltools.internal.ui.BuilderPropertyPage' это на самом деле довольно сложно сделать, поскольку это связано с созданием отключенной конфигурации запуска внешних инструментов. Также отключение строителей может привести к различным видам странного поведения. –
Удаление строителя со страницы свойств также работает по-моему. Мне не нужен создатель CDT, поскольку я использую другие, которые я импортирую. –