Visual studio 如何以编程方式安装VisualStudio扩展?
如何获取已安装VisualStudio扩展的列表?通过Visual studio 如何以编程方式安装VisualStudio扩展?,visual-studio,envdte,Visual Studio,Envdte,如何获取已安装VisualStudio扩展的列表?通过DTE?只要这些名字就够了。这有帮助吗: System.IServiceProvider serviceProvider=打包为System.IServiceProvider; Microsoft.VisualStudio.ExtensionManager.IVsExtensionManager em= (Microsoft.VisualStudio.ExtensionManager.IVsExtensionManager)servicePr
DTE
?只要这些名字就够了。这有帮助吗:
System.IServiceProvider serviceProvider=打包为System.IServiceProvider;
Microsoft.VisualStudio.ExtensionManager.IVsExtensionManager em=
(Microsoft.VisualStudio.ExtensionManager.IVsExtensionManager)serviceProvider.GetService(
typeof(Microsoft.VisualStudio.ExtensionManager.SVsExtensionManager));
字符串结果=”;
foreach(em.GetInstalledExtensions()中的Microsoft.VisualStudio.ExtensionManager.IIInstalledExtension i)
{
Microsoft.VisualStudio.ExtensionManager.IExtensionHeader h=i.头;
if(!h.SystemComponent)
结果+=h.Name+“(由“+h.Author+”)v“+h.Version+”+h.MoreInfoUrl+System.Environment.NewLine;
}
复制自#20。另一种可能性是,如果您不想要DTE,因为您不是从Visual Studio中运行,或者担心性能,您可以从文件系统/注册表中查询扩展名: 用于用户扩展 %LocalAppData%\Microsoft\VisualStudio*.vsix 用于一般扩展 \Common7\IDE\Extensions*.vsix 如果希望100%正确,可以在中查找路径 \Common7\IDE\devenv.pkgdef 注意:PkgDefSearchPath中可能有其他路径 要检查是否启用了用户扩展,您必须查询注册表: HKEY_当前_用户\Software\Microsoft\VisualStudio\10.0\ExtensionManager\EnabledExtraction 还有一些适用的其他规则,您可以在Microsoft的本博客中找到:
谢谢。不错的选择。我的问题不够详细,但我还需要知道是否启用了扩展。。。我认为至少在Visual Studio 2017上,
\Common7\IDE\devenv.pkgdef
应该是\Common7\IDE\master.pkgdef
。这还将表明您需要CommonExtensions
文件夹,其中包含VS 2017中的大多数Microsoft通用扩展(如语言服务)。不确定当它不使用DTE时,这怎么可能是答案。为什么它必须?>以某种方式通过DTE?这是一个问题,而不是一个请求;-)我想你误解了:-)