簡體   English   中英

Visual Studio加載項自動附加到Development Server

[英]Visual Studio Add-In To Automatically Attach to Development Server

是否有人知道Visual Studio 2010加載項會自動允許您附加到ASP.Net開發服務器的運行實例? 如果當前有多個正在運行,請顯示一個快速對話框,讓您從運行的ASP.Net開發服務器列表中進行選擇?

我為什么要這個? < - 隨意跳過這一部分。

我通常開發/調試Web應用程序的方法是啟動瀏覽器並瀏覽應用程序,直到我到達我想要的頁面(可能有很多頁面。)我不希望通過這些步驟附加調試器以用於各種原因(它比沒有連接慢,可能會遇到無關的斷點,我可能會在“拋出”打開時打破,並且在處理錯誤被拋出時不想在應用程序中提前中斷等等...)

我導航到我想要的頁面,然后使用Visual Studio菜單調試>附加到進程,然后從“附加到進程”對話框中,我必須一直向下滾動(頁面和頁面以及進程頁面),直到我找到我想要的WebDev.WebServer40.EXE進程並選擇它。

這樣做讓我把手從鍵盤上移開並使用鼠標(我通常會盡量避免使用鼠標。)

這樣做似乎是不必要的重復,因為如果我正在調試ASP.Net Web應用程序,我總是想附加到WebDev.WebServer40.exe的實例。

我喜歡做同樣的事情,並有可能給它的所有綁定到一個宏按鍵。

轉到工具>宏>宏IDE

添加一個新模塊並使用此代碼(時髦的注釋用於語法高亮)

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics
Imports System.Collections.Generic

Public Module AttachingModule
    Sub AttachToAspNET()
        Try
            Dim process As EnvDTE.Process

            Dim listProcess As New List(Of String)
            '' // uncomment the processes that you'd like to attach to.  I only attach to cassini
            '' // listProcess.Add("aspnet_wp.exe")
            '' // listProcess.Add("w3wp.exe")
            listProcess.Add("webdev.webserver")

            For Each process In DTE.Debugger.LocalProcesses
                For Each procname As String In listProcess
                    If process.Name.ToLower.IndexOf(procname) <> -1 Then
                        process.Attach()
                    End If
                Next
            Next

        Catch ex As System.Exception
            MsgBox(ex.Message)
        End Try
    End Sub

End Module

單擊文件>關閉並返回

單擊工具>選項

單擊環境>鍵盤

我把宏放在MyMacros中,所以我在“Show Commands Containing”文本框中查找“Macros.MyMacros.AttachingModule.AttachToAspNET”。

我更喜歡使用Ctrl + Alt + D,但在“按快捷鍵”文本框中輸入您想要的任何內容,然后單擊“分配”,然后單擊“確定”。

現在,您只需按Ctrl + Alt + D即可附加到所有cassini實例。

我已經在互聯網上看到了各種版本, 是我發現的最新版本。 我不得不稍微修改一下以刪除額外的Web進程並從WebDev.WebServer.exe刪除.exe,以便調試.net 4.0的cassini實例。

我不知道任何這樣的加載項, 您可以使用快捷鍵更輕松地附加到進程,並按“W”滾動到WebDev進程。

Ctrl + Alt + P - 附加到進程
(進程窗口現在有焦點)
W ,跳轉到以W開頭的流程
Enter鍵進行附加

不是插件,但你可以不用觸摸鼠標就可以完成。

請查看此答案: 2012年附加到流程

這是一個簡單的插件,提供了附加到nunit代理,IIS和IIS Express的快捷方式。 其純正的便利相比,按Ctrl-Alt鍵-P的,但它方便。

這里直接鏈接到插件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM