我正在尝试使用一个本机代码来获取解决方案中的所有选定项。对于本机代码,我指的是不使用DTE
的代码。
我检查了文档并试图找到合适的解决方案,但是我走的并不远。我发现的是IVsUiHierarchy
,其中包含IVsUiHierarchy
方法,该方法包含以下内容。
对层次结构中特定项目起作用的命令。 (如果ItemID等于VSITEMID_SELECTION,则该命令将应用于所选的一个或多个项目。)
因此,我怀疑他们正在谈论的方法是前面提到的ExecCommand
一种。对于一个人,我不太确定如何从ExecCommand
或类似对象到达ExecCommand
对象,另一方面,我不确定如何正确使用IVsHierarchy
方法。另外,我什至不确定这是否是实现此目标的“正确方法”。
注意:我正在寻找在IVsHierarchy
中不包含以下代码的解决方案。
您可以使用ExecCommand
在解决方案资源管理器中标识所有选定的项目。
上面将返回一个IVsMultItemSelect接口,可用于调用this answer以检索VSITEMSELECTION值的数组。
有IVsMonitorSelection.GetCurrentSelection,利用GetSelectedItems,您可以用作参考。
此致,Ed Dore