Если вы заинтересованы в постоянном решении, я написал небольшой макрос для этой задачи.
Это делает следующие вещи:
- Получает текущий выбранный проект (будет использоваться первый выбранный проект, если вы выбрали несколько проектов.)
- Сохраняет текущий стартовый проект
- Устанавливает текущий выбранный проект в качестве проекта запуска и запускает текущий выбранный проект в режиме «Запуск без отладки».
- Восстанавливает начальный проект запуска как проект запуска.
Ниже приведен макрос, который я написал, и процедура, как это сделать.
Как написать макрос:
Первым делом вам нужно перейти в Visual Studio Tools -> Macros -> Macro Explorer. Как только вы получили этот щелчок правой кнопкой мыши на MyMacros и создали новый модуль (я назвал его CollapseAll).
Теперь отредактируйте новый модуль (дважды щелкните по нему), сотрите все, что там есть, и вставьте этот материал в него.
Sub RunSelectedWithoutDebug()
Dim Projs As Array
Dim Proj As Project
Projs = DTE.ActiveSolutionProjects()
If (Projs.Length > 0) Then
Proj = Projs.GetValue(0)
Dim Prop As EnvDTE.Property
Prop = DTE.Solution.Properties.Item("StartupProject")
Dim PrevStartup As Object
PrevStartup = Prop.Value
Prop.Value = Proj.Name
DTE.ExecuteCommand("Debug.StartWithoutDebugging")
Prop.Value = PrevStartup
End If
End Sub
Как связать макрос с сочетанием клавиш:
Для этого вам нужно перейти в Сервис -> Параметры -> Среда -> Клавиатура. Выберите свой макрос из списка ListBox со всеми компонентами VS по умолчанию (помните, что он будет там, как MyMacros.Module1.RunSelectedWithoutDebug), а затем назначьте комбинацию клавиш или аккорд и сохраните.
Примечание: Четвертый шаг - создание проблемы и порождающая раздражающее окно сообщения, говорящее:
Сборка должна быть остановлена для изменения свойства решения. Остановить сборку? ОК или Отмена. Раньше я нажимал Ok для времени. Если у вас нет проблем, если макрос устанавливает текущий выбранный проект как проект запуска, пожалуйста, прокомментируйте последнюю строку макроса
Prop.Value = PrevStartup, поставив 'в начале строки. Теперь окно сообщения не появится.
Я смотрю в него и опубликую обновленный макрос, как только решу (если смогу :))