Visual Studio 2003: свернуть все проекты при запуске - PullRequest
3 голосов
/ 19 ноября 2009

У меня есть решение около 150 проектов. Когда я открываю решение, половина из них, кажется, открыта случайным образом. Я хочу открыть решение со всеми свернутыми проектами. Я хочу, чтобы раскрыть только тот, который я выбрал после открытия решения.

Как я могу это сделать?

Ответы [ 3 ]

2 голосов
/ 19 ноября 2009

Я полагаю, что среда IDE сохраняет статус развертывания / свертывания с момента последнего открытия решения. Ручной процесс заключается в том, чтобы закрыть их все самостоятельно.

В качестве альтернативы от здесь . Это свернет все проекты и расширит выбранный проект.

Макросы Вот макрос, чтобы свернуть все проекты в решении и развернуть выбранный проект:

1.Выберите ALT + F8 в IDE VS2005, чтобы открыть проводник макросов
2. Щелкните правой кнопкой мыши MyMacros.
3. Выберите Новый модуль.
4.Введите новое имя модуля как CollapseAll
5.Выберите ОК - новый модуль CollapseAll создан.
6. Щелкните правой кнопкой мыши Свернуть все модуль
7. Выберите «Редактировать» - Macro IDE запущен.
8. Скопируйте следующую подпрограмму и вставьте ее между модулем и конечным модулем. - в макросе IDE (вам может потребоваться настроить некоторые строки для успешной компиляции макроса):

Sub CollapseAll()
'NavigateSolution()
' Get the the Solution Explorer tree
Dim UIHSolutionExplorer As UIHierarchy
UIHSolutionExplorer = DTE.Windows.Item(Constants.vsext_wk_SProjectWindow).Object()
' Check if there is any open solution
If (UIHSolutionExplorer.UIHierarchyItems.Count = 0)
Then
Return
End If

' Get the top node (the name of the solution)
Dim UIHSolutionRootNode As UIHierarchyItem
Dim UIHChildItem As UIHierarchyItem
UIHSolutionRootNode = UIHSolutionExplorer.UIHierarchyItems.Item(1)

' Collapse each project node
Dim UIHItem As UIHierarchyItem
For Each UIHItem In UIHSolutionRootNode.UIHierarchyItems
For Each UIHChildItem In UIHItem.UIHierarchyItems
UIHChildItem.UIHierarchyItems.Expanded = False
Next
UIHItem.UIHierarchyItems.Expanded = False
Next
UIHSolutionRootNode.UIHierarchyItems.Expanded = True

Dim UIHSelectedItem As UIHierarchyItem = UIHSolutionExplorer.SelectedItems(0)
UIHSelectedItem.UIHierarchyItems.Expanded = True
End Sub

Сохранить модуль. Теперь добавьте этот макрос на панель инструментов для быстрого доступа.

9.Выберите Инструменты -> Настроить из главного меню
10.Выберите вкладку «Команда» в диалоговом окне «Настройка»
. 11. Выберите макросы
12. Выберите макрос CollapseAll и перетащите его на одну из панелей инструментов VS2005 IDE. Вы увидите имя макроса на панели инструментов -
13.Не закрывайте всплывающее окно «Настройка» -
14. Щелкните правой кнопкой мыши по имени макроса на панели инструментов
. 15. Выберите стиль по умолчанию - это удалит имя макроса на панели инструментов, в результате чего на панели инструментов будет маленький прямоугольник
16. Щелкните правой кнопкой мыши по маленькому прямоугольнику
17.Выберите ChangeButtonImage
18. Выберите одно из изображений, например, HourGlass. Вы увидите изображение на панели инструментов.
19.Закройте всплывающее окно «Настройка»
20. Для проверки макроса:
1.Выберите один из проектов в вашем решении
2. Выберите кнопку «Свернуть все» на панели инструментов
3. Наблюдайте за тем, как обозреватель решений свернет все и развернет выбранный вами проект.

1 голос
/ 14 июля 2010

Я знаю, что это не для VS2003, но если вы ищете такое же решение в VS2010, Сара Форд написала в блоге о дополнении, которое делает это для вас:

http://blogs.msdn.com/b/saraford/archive/2010/05/13/collapse-selection-in-solution-explorer-extension-7.aspx

0 голосов
/ 19 ноября 2009

Я работаю над продуктом со 100+ проектами. Я делаю файлы sln для каждого подмодуля (несколько связанных vcproj / csproj), поэтому мне не нужно открывать большой большой файл sln для просмотра проекта.

Возможно, есть сценарий для Visual Studio, который открывается только в свернутом виде, но я не знаю как. Я избегаю проблемы, просто разбивая vcproj / csproj на разные sln и использую для сборки сервер сборки.

...