C# Visual Studio DTE-如何以编程方式选择多个项目
我正在尝试创建一个小的VisualStudio扩展,以执行一些批处理项目加载和卸载。为此,我必须一次选择多个项目,然后调用C# Visual Studio DTE-如何以编程方式选择多个项目,c#,visual-studio,envdte,C#,Visual Studio,Envdte,我正在尝试创建一个小的VisualStudio扩展,以执行一些批处理项目加载和卸载。为此,我必须一次选择多个项目,然后调用Project.ReloadProject或Project.UnloadProject命令。如果我一个接一个地加载或卸载项目,速度太慢了 这是我的样本: foreach (UIHierarchyItem item in solution.UIHierarchyItems) { if (!filter.Projects.Contains(item.Name, Strin
Project.ReloadProject
或Project.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);
要选择多个项目,请为第一个项目调用:
item.Select(vsUISelectionType.vsUISelectionTypeSelect);
后续项目请致电:
if (!item.IsSelected)
item.Select(vsUISelectionType.vsUISelectionTypeToggle);
非常感谢你!没有考虑到这一点,因为在文档中它说,在使用切换值选择一个节点之后,它是唯一被选中的节点。非常感谢!没有考虑这一点,因为在文档中它说,在使用切换值选择一个节点之后,它是唯一被选中的节点。