Debug->Start new instance на горячую клавишу - CodeHelper

Debug->Start new instance на горячую клавишу

1

Десятки раз на дню приходится делать одно и то же: выбирать startup проект и вызывать контекстное меню Debug -> Start new instance. Можно ли повесить это действие на горячую клавишу?

Лучший ответ:

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() на какую-нибудь горячую клавишу.

Alexander

Кавычка после слеша не распозналась. Как правильно сделать?

admax

А, не важно. Это ведь просто подсветка синтаксиса. Код-то ведь отображен правильно?

Главное что его можно скопировать в правильном виде)

Новые ответы


0

Можно сделать так:

  1. Заходим в меню Tools → Options → Keyboard.
  2. В поле Show commands containing набираем Debug чтобы отфильтровать команды.
  3. В списке ниже выделяем пункт ClassViewContextMenus.ClassViewProject.Debug.Startnewinstance
  4. Переходим в поле Press shortcut keys, нажимаем комбинацию клавиш на которую хотим повесить запуск дебага (например Alt+B или Alt+F5).
  5. Нажимаем Assign.
Alexander

Я так пробовал, при этом запускается отладка проекта, который выделен в Solution explorer. Не обязательно startup проекта.

Чак Норрис

Ну да, так и задумано. Ведь startup-проект можно запустить просто по F5. Или я что-то не правильно понял?

Alexander

По F5, на сколько я знаю, происходит rebuild всего solution, а по Debug->Start new instance только билд изменившихся проектов, от которых зависит startup проект.

admax

По-моему по F5 происходит не rebild, а build. То есть собирается только то, что изменилось. Я постоянно сталкиваюсь с тем, что при запуске по F5 не вступают в силу изменения встроенных ресурсов. А значит полная пересборка не происходит.

Alexander

Странно, по F5 сборка происходит гораздо дольше, чем по Debug->Start new instance...

admax

Видимо F5 = Save All + Debug->StartNewInstance


v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.