[英]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.