iLemming
iLemming

Reputation: 36214

Combobox from Visual Studio Macros

When you need to debug a Website that hosts on IIS Express, you usually don't restart it all over again, every time when you need to rebuilt your code. You just attach VS to the process. And the macros script helps a lot:

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

You can assign a keystroke and voila. The only problem is if your solution contains more than one webapp, there would be more than one iisexpress.exe processes with different PIDs, and VS would sometimes choose the wrong one.

The question: Is it possible to popup a dialog if there is more than one iisexpress.exe running to choose the right one?

Of course you can always use default 'Attach To Proccess' dialog, but it's not gonna be as quick as using that script and keyboard shortcut.

Upvotes: 0

Views: 130

Answers (1)

Brian Schmitt
Brian Schmitt

Reputation: 6068

You can open a dialog, but it's not the most straightforward thing. You will need to put all your UI code into the macro, EG layout, size of controls, etc...

It's about 200ish lines of code, and rather than put it all here I will defer you to my blog at http://www.brianschmitt.com/2010/09/save-and-change-tool-layout-in-visual.html

You should be able to reuse the View Switcher dialog box and list out all instances of IISExpress. It shouldn't take much to do what you need it to.

Upvotes: 1

Related Questions