Visual Studio DTE - как программно выбрать несколько проектов - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь создать небольшое расширение Visual Studio, выполнить загрузку и выгрузку некоторых проектов.Для этого мне нужно выбрать несколько проектов одновременно, а затем вызвать команду 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 и нажимаю на проекты.

1 Ответ

0 голосов
/ 08 декабря 2018

Чтобы выбрать несколько проектов, для первого вызова проекта:

item.Select(vsUISelectionType.vsUISelectionTypeSelect);

для последующих проектов:

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