使用本机接口在解决方案中获取选定的项目

问题描述 投票:0回答:1

我正在尝试使用一个本机代码来获取解决方案中的所有选定项。对于本机代码,我指的是不使用DTE的代码。

我检查了文档并试图找到合适的解决方案,但是我走的并不远。我发现的是IVsUiHierarchy,其中包含IVsUiHierarchy方法,该方法包含以下内容。

对层次结构中特定项目起作用的命令。 (如果ItemID等于VSITEMID_SELECTION,则该命令将应用于所选的一个或多个项目。)

因此,我怀疑他们正在谈论的方法是前面提到的ExecCommand一种。对于一个人,我不太确定如何从ExecCommand或类似对象到达ExecCommand对象,另一方面,我不确定如何正确使用IVsHierarchy方法。另外,我什至不确定这是否是实现此目标的“正确方法”。

注意:我正在寻找在IVsHierarchy中不包含以下代码的解决方案。

c# visual-studio visual-studio-2019 vsix
1个回答
0
投票

您可以使用ExecCommand在解决方案资源管理器中标识所有选定的项目。

上面将返回一个IVsMultItemSelect接口,可用于调用this answer以检索VSITEMSELECTION值的数组。

IVsMonitorSelection.GetCurrentSelection,利用GetSelectedItems,您可以用作参考。

此致,Ed Dore

© www.soinside.com 2019 - 2024. All rights reserved.