Visual Studio DTE - 如何以编程方式 select 多个项目
Visual Studio DTE - how to programmatically select multiple projects
我正在尝试创建一个小 Visual Studio 扩展,以执行一些批处理项目加载和卸载。为此,我必须同时 select 多个项目,然后调用 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", "");
问题是,我不知道如何一次 select 多个项目。当我手动执行相同的任务时,我只需按住 ctrl
按钮并单击项目。
到select多个项目,第一个项目调用:
item.Select(vsUISelectionType.vsUISelectionTypeSelect);
后续项目电话:
if (!item.IsSelected)
item.Select(vsUISelectionType.vsUISelectionTypeToggle);
我正在尝试创建一个小 Visual Studio 扩展,以执行一些批处理项目加载和卸载。为此,我必须同时 select 多个项目,然后调用 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", "");
问题是,我不知道如何一次 select 多个项目。当我手动执行相同的任务时,我只需按住 ctrl
按钮并单击项目。
到select多个项目,第一个项目调用:
item.Select(vsUISelectionType.vsUISelectionTypeSelect);
后续项目电话:
if (!item.IsSelected)
item.Select(vsUISelectionType.vsUISelectionTypeToggle);