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

时间:2018-12-07 10:43:55

标签: c# visual-studio envdte

我正在尝试创建一些Visual Studio Extension,以进行一些批处理项目的加载和卸载。为此,我必须一次选择多个项目,然后调用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按钮并单击项目即可。

1 个答案:

答案 0 :(得分:1)

要选择多个项目,请进行第一个项目调用:

item.Select(vsUISelectionType.vsUISelectionTypeSelect);

对于后续项目调用:

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