![](/img/trans.png)
[英]Visual Studio Shell 2015 does not use custom icons in solution explorer
[英]Visual Studio 2015 solution explorer manipulation: UIHierarchy vs IVsHierarchy
我正在构建自定义VS2015扩展(VSIX程序包)。 我的主要任务是对解决方案资源管理器进行如下操作:
我发现了一些样本,其中大多数使用以下三种常见策略之一:
EnvDTE.Solution
, EnvDTE.Project
等。 EnvDTE.UIHierarchy
等。 Microsoft.VisualStudio.Shell.Interop.IVsSolution
和IVsHierarchy
我可以看到,就涵盖方案而言,第一个是最差的。 我无法弄清楚的是最后两者之间的区别。 在考虑任务时,我应该跳哪一个? 他们背后的概念是什么?
它们都是由com解决方案对象实现的接口。 查看msdns以查看方法上的差异。
https://msdn.microsoft.com/zh-CN/library/microsoft.visualstudio.shell.interop.ivssolution.aspx
https://msdn.microsoft.com/zh-CN/library/microsoft.visualstudio.shell.interop.ivshierarchy.aspx
UIHierarchy是工具窗口 (具有节点的任何窗口,而不仅仅是解决方案资源管理器的窗口 )的接口,该窗口中具有层次结构并来自VSSDK,而IVs接口直接来自互操作,并表示视图中的实际项。
对于您所说的,IVsSolution是最直接的接口。 所有IVsSolutions也是IVsHierarchy,但是解决方案资源管理器中的任何节点都是层次结构,但显然不是解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.