Десятки раз на дню приходится делать одно и то же: выбирать startup проект и вызывать контекстное меню Debug -> Start new instance. Можно ли повесить это действие на горячую клавишу?
Debug->Start new instance на горячую клавишу
1
Спросил
Лучший ответ:
1
Решение нашлось. Нужно создать следующий макрос:
Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Public Module Custom
Sub StartNewInstanceOfStartupProject()
Dim Prop As EnvDTE.Property
Prop = DTE.Solution.Properties.Item("StartupProject")
DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
Dim NameProp As EnvDTE.Property
NameProp = DTE.Solution.Properties.Item("Name")
DTE.ActiveWindow.Object.GetItem(NameProp.Value + "\" + Prop.Value.ToString).Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("ClassViewContextMenus.ClassViewProject.Debug.Startnewinstance")
End Sub
End Module
И повесить вызов MyModule.Custom.StartNewInstanceOfStartupProject()
на какую-нибудь горячую клавишу.
Новые ответы
0
Можно сделать так:
- Заходим в меню Tools → Options → Keyboard.
- В поле
Show commands containing
набираемDebug
чтобы отфильтровать команды. - В списке ниже выделяем пункт ClassViewContextMenus.ClassViewProject.Debug.Startnewinstance
- Переходим в поле
Press shortcut keys
, нажимаем комбинацию клавиш на которую хотим повесить запуск дебага (напримерAlt+B
илиAlt+F5
). - Нажимаем
Assign
.
Я так пробовал, при этом запускается отладка проекта, который выделен в Solution explorer. Не обязательно startup проекта.
Ну да, так и задумано. Ведь startup-проект можно запустить просто по F5. Или я что-то не правильно понял?
По F5, на сколько я знаю, происходит rebuild всего solution, а по Debug->Start new instance только билд изменившихся проектов, от которых зависит startup проект.
Кавычка после слеша не распозналась. Как правильно сделать?
А, не важно. Это ведь просто подсветка синтаксиса. Код-то ведь отображен правильно?
Главное что его можно скопировать в правильном виде)