如何獲取已安裝的VisualStudio擴展的列表?以某種方式通過DTE
?只是名稱會很公平。如何以編程方式安裝VisualStudio擴展?
2
A
回答
3
這是否幫助:
System.IServiceProvider serviceProvider = package as System.IServiceProvider;
Microsoft.VisualStudio.ExtensionManager.IVsExtensionManager em =
(Microsoft.VisualStudio.ExtensionManager.IVsExtensionManager)serviceProvider.GetService(
typeof(Microsoft.VisualStudio.ExtensionManager.SVsExtensionManager));
string result = "";
foreach(Microsoft.VisualStudio.ExtensionManager.IInstalledExtension i in em.GetInstalledExtensions())
{
Microsoft.VisualStudio.ExtensionManager.IExtensionHeader h = i.Header;
if (!h.SystemComponent)
result += h.Name + " (by " + h.Author + ") v" + h.Version + " " + h.MoreInfoUrl + System.Environment.NewLine;
}
從https://vlasovstudio.com/visual-commander/commands.html#20複製。
2
另一種可能性,如果你不想DTE,因爲你不是從Visual Studio內運行或擔心性能,你可以查詢從文件系統/註冊表中的擴展:
對於用戶分機 %LOCALAPPDATA%\微軟\ VisualStudio的* .vsix
對於一般擴展 \ Common7 \ IDE \擴展* .vsix
,如果你想成爲100%正確的,你可以看一下路徑在 \ Common7 \ IDE \ devenv.pkgdef
注:有可能在PkgDefSearchPath其他路徑。
要請檢查是否用戶擴展啓用與否,你必須查詢註冊表: HKEY_CURRENT_USER \ SOFTWARE \微軟\ VisualStudio的\ 10.0 \ ExtensionManager \ EnabledExtensions
有適用其他一些規則,你可以在微軟的這個博客中找到: http://blogs.msdn.com/b/visualstudio/archive/2010/02/19/how-vsix-extensions-are-discovered-and-loaded-in-vs-2010.aspx
相關問題
- 1. 如何以編程方式安裝Chrome擴展?
- 2. 如何以編程方式擴展卷
- 3. 以編程方式在Safari 8上安裝擴展OSX 10.10
- 4. 如何以編程方式安裝.ipa
- 5. Visual Studio SDK - 如何以編程方式檢測安裝的擴展?
- 6. 以編程方式禁用Firefox擴展
- 7. 擴展VisualStudio
- 8. 如何安裝PHP擴展
- 9. 如何安裝pgAudit擴展?
- 10. 如何安裝ITL擴展
- 11. 以編程方式安裝android事件
- 12. 安裝Android APK以編程方式
- 13. 以編程方式安裝字體
- 14. 以編程方式安裝Android容器
- 15. 以編程方式安裝TableLayout
- 16. 以編程方式安裝apk
- 17. 以編程方式安裝Windows服務
- 18. 以編程方式安裝.mobileconfig
- 19. 以編程方式安裝Firefox插件
- 20. 以編程方式安裝Windows服務
- 21. 如何以編程方式顯示Safari擴展彈出窗口
- 22. 如何以編程方式打開Chrome擴展頁面
- 23. 如何以編程方式擴展datagridview組合框單元格?
- 24. 你如何以編程方式打開你的擴展?
- 25. 如何以編程方式打包Safari擴展?
- 26. 如何在IE擴展中以編程方式設置斷點?
- 27. 如何以編程方式設置TextBlock擴展屬性
- 28. 如何以編程方式打開Chrome擴展popup.html
- 29. 如何以編程方式通過msi包通過企業或組pollicy安裝Chrome擴展程序
喲dat作品... – Matthias