从插件以编程方式修改Eclipse工作区和CDT选项
我想从插件中以编程方式修改Eclipse工作区(添加现有项目是我的主要请求)。 另外,我想从插件中修改CDT选项(环境、索引器选项) 有没有人知道如何最好地做到这一点,或者可以给我指出关于这个主题的好的文档 编辑:从插件以编程方式修改Eclipse工作区和CDT选项,eclipse,eclipse-cdt,Eclipse,Eclipse Cdt,我想从插件中以编程方式修改Eclipse工作区(添加现有项目是我的主要请求)。 另外,我想从插件中修改CDT选项(环境、索引器选项) 有没有人知道如何最好地做到这一点,或者可以给我指出关于这个主题的好的文档 编辑: 实际上,我不想修改CDT项目设置,但想修改一些全局CDT设置(实际上我想禁用索引器)。这取决于您要进行的修改类型 例如,添加一个项目最好的例子是 您还可以: 更一般地说,它是该主题指针的良好来源 自2004年以来,您可以通过(ICSettingsStorage)进行修改。也许这会有
实际上,我不想修改CDT项目设置,但想修改一些全局CDT设置(实际上我想禁用索引器)。这取决于您要进行的修改类型 例如,添加一个项目最好的例子是 您还可以: 更一般地说,它是该主题指针的良好来源
自2004年以来,您可以通过(
ICSettingsStorage
)进行修改。也许这会有帮助
关于索引器,请注意以下问题。
是的,但您可以进一步了解。是否可以将答案标记为“半解”?因为你的答案很好,但我还需要CDT选项部分。但是,也许我可以从我的问题中删除CDT部分并创建一个新的:-)你认为有可能添加CDT内容吗?@rstevens:细节有点模糊,但设置CDT项目设置的一种方法是创建一个新的项目向导,该向导扩展CDT部分并向新的CDT项目添加其他设置(我认为这可能是将现有项目导入工作区)。但要将所有内容都准备好可能有点棘手,我已经有一段时间没有这样做了。如果您想在插件中动态编辑/更改设置,我建议您扩展CDT首选项页或类似的内容。它可能会让您访问这些设置。@rstevens:很抱歉,描述不明确,但这是错误的已经有一段时间了,我不完全确定你的主要目标是什么。@rstevens:我今天晚些时候会检查CDT部分,但现在,我的答案肯定不会是“选定的”;)可能有人会在今天晚些时候发布更完整的帖子。@Subtwo&@VonC:谢谢你的回复。我编辑了这个问题,因为它不够清楚。我想编辑全局(工作区)CDT设置,而不是项目设置。对不起,问题不清楚。
String theProjName = "Test";
String theLocation = "/some/test/project";
try {
IWorkspaceRoot theRoot = ResourcesPlugin.getWorkspace().getRoot();
IProject theProject = theRoot.getProject(theProjName);
IProjectDescription theDesc = theProject.getWorkspace().newProjectDescription(theProjName);
theDesc.setLocation(new Path(theLocation));
theProject.create(theDesc, new NullProgressMonitor());
if (theProject.exists()) {
theProject.open(new NullProgressMonitor());
}
} catch (CoreException err) {
err.printStackTrace();
}
IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
try {
if (dw != null) {
IWorkbenchPage page = dw.getActivePage();
if (page != null) {
IDE.openEditor(page, file, true);
}
}
} catch (PartInitException e) {
}