我想從我維護的 Eclipse 插件中檢測插件的存在。從關于這個主題的其他幾個問題來看,這看起來很困難。
我要檢測的插件提供了一個視圖。因此,以下作業,但我希望存在一個更漂亮的選擇:
public static boolean internalPluginInstalled() {
IExtensionRegistry reg = Platform.getExtensionRegistry();
IExtensionPoint point = reg.getExtensionPoint("org.eclipse.ui.views");
IExtension[] extensions = point.getExtensions();
for(IExtension extension : extensions) {
IConfigurationElement[] configs = extension.getConfigurationElements();
for (IConfigurationElement config : configs) {
if (config.getName().equals("view") && config.getAttribute("id").equals("view.id.goes.here")) {
return true;
}
}
}
return false;
}
uj5u.com熱心網友回復:
使用Platform.getBundle( org.eclipse.core.runtime.Platform):
Bundle bundle = Platform.getBundle("plugin id");
bundle 如果安裝了插件,則為非空。
bundle.getState()回傳插件的確切狀態 -Bundle.ACTIVE如果插件已啟動。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/336960.html
上一篇:從兩個視圖獲取相同的物件
