Visual Studio DTE-如何以编程方式选择多个项目



我正在尝试创建一个小的Visual Studio扩展,以进行一些批处理项目加载和卸载。为此,我必须同时选择多个项目,然后调用Project.ReloadProjectProject.UnloadProject命令。如果我加载或卸载一个又一个项目,速度太慢了。

这是我的样品:

foreach (UIHierarchyItem item in solution.UIHierarchyItems)
{
if (!filter.Projects.Contains(item.Name, StringComparer.CurrentCultureIgnoreCase))
item.Select(vsUISelectionType.vsUISelectionTypeSelect);
}
dte.ExecuteCommand("Project.UnloadProject", "");

问题是,我不知道如何同时选择多个项目。当我手动执行相同的任务时,我只需按住ctrl按钮并单击项目。

要选择多个项目,对于第一个项目调用:

item.Select(vsUISelectionType.vsUISelectionTypeSelect);

对于后续项目,请致电:

if (!item.IsSelected)
item.Select(vsUISelectionType.vsUISelectionTypeToggle);

最新更新