[英]CDT Folder issue when developing an eclipse plugin
我已經為eclipse插件集成了一個屬性測試器。 每當我從上下文菜單中選擇一個項目時,都會激活屬性測試器並檢查所選元素是什么數據類型,例如IProject或IFolder 。
識別效果非常好,直到我確實將CDT插件安裝到eclipse為止。 現在,這些文件夾似乎表示為org.eclipse.cdt.internal.core.model.CContainer類型,這似乎是該文件夾的CDT表示形式。 有沒有辦法避免這種轉換機制,或者將CDT文件夾類型org.eclipse.cdt.internal.core.model.CContainer以編程方式轉換為已知的IFolder ?
用戶界面對象通常可以“適應”資源對象。
所以嘗試
IFolder folder = (IFolder)Platform.getAdapterManager().getAdapter(object, IFolder.class);
其中object
是所選對象。
可能未提供直接連接到IFolder
的適配器,因此也請嘗試適應IResource
。
在較新版本的Eclipse中,適配器管理器是通用的,因此您不需要強制轉換。
在Eclipse 4.6(Neon)中,可以使用:
IFolder folder = Adapters.adapt(object, IFolder.class);
還將檢查該類是否實現IAdaptable
或IFolder
的實例。 僅在僅希望代碼在Eclipse 4.6(及更高版本)中運行時才使用此選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.