Combobox от Visual Studio Macros - PullRequest
       30

Combobox от Visual Studio Macros

0 голосов
/ 18 июля 2011

Когда вам нужно отладить веб-сайт, размещенный на IIS Express, вы обычно не перезапускаете его заново, каждый раз, когда вам нужно перестроить свой код. Вы просто присоединяете VS к процессу. И скрипт макросов очень помогает:

Public Module AttachToProcess
    Public Sub AttachToWebServer()
        Dim attached As Boolean = False
        Dim proc As EnvDTE.Process
        For Each proc In DTE.Debugger.LocalProcesses
            If (Right(proc.Name, 14) = "iisexpress.exe") Then
                proc.Attach()
                attached = True
                Exit For
            End If
        Next
        If attached = False Then
            MsgBox("iisexpress.exe is not running")
        End If
    End Sub
End Module

Вы можете назначить нажатие клавиши и вуаля. Единственная проблема заключается в том, что если ваше решение содержит более одного веб-приложения, будет несколько процессов iisexpress.exe с разными идентификаторами PID, и VS иногда будет выбирать неправильный.

Вопрос: возможно ли открыть диалоговое окно, если запущено более одного iisexpress.exe для выбора правильного?

Конечно, вы всегда можете использовать диалоговое окно «Присоединить к процессу» по умолчанию, но оно не будет таким быстрым, как использование сценария и сочетания клавиш.

1 Ответ

1 голос
/ 07 августа 2011

Вы можете открыть диалог, но это не самая простая вещь. Вам нужно будет поместить весь ваш код пользовательского интерфейса в макрос, макет EG, размер элементов управления и т. Д ...

Это примерно 200 строк кода, и вместо того, чтобы поместить все это здесь, я отложу вас до моего блога на http://www.brianschmitt.com/2010/09/save-and-change-tool-layout-in-visual.html

Вы должны иметь возможность повторно использовать диалоговое окно View Switcher и перечислять все экземпляры IISExpress. Это не должно занимать много времени, чтобы сделать то, что вам нужно.

...