我正在開發一個Eclipse插件,其中包括其他必須檢查當前C項目中設置的編譯器選項。 基本上,我想訪問屬性 - > C/C++編譯 - >設置 - > GCC C編譯器 - >所有選項字段。Eclipse CDT從代碼
我已經搜索瞭如何訪問它,但我還沒有找到辦法做到這一點。 我試圖通過喜好來存取權限它像下面的代碼:
IEclipsePreferences root = Platform.getPreferencesService().getRootNode();
我可以使用插件的喜好這種方式,但不與C項目。
有沒有人知道一種方法來做到這一點?我不需要更改編譯器選項,只需知道設置了哪些標誌。
更新:我找到了解決方案。
IResourceInfo info = getResourceInfo(translationUnit, description);
ITool tools[] = info.getTools();
for (ITool t : tools) {
if (t.getName().compareToIgnoreCase("GCC C Compiler") == 0) {
try {
//Finally the field I was looking for
String commandLine = t.getToolCommandFlagsString(getProject().getFullPath(), null);
} catch (BuildException e) {
e.printStackTrace();
}
}
}
我然後可以解析字符串,不理想,但它的工作原理。 我得到了這個職位的getResourceInfo()函數:How do I programmatically change the Eclipse CDT tool settings for a file?
所以,感謝justinmreina的答案!
大聲笑,這正是10行代碼... –