2010-06-02 156 views
4

測試Windows Forms UI時,我經常想在代碼運行時修改代碼。單擊「Break All」箭頭爲我執行此操作,但是Visual Studio始終顯示Program.cs窗口並將焦點設置在Application.Run()方法上,這種方法有點類似。然而,大多數情況下,我想要在我面前編輯代碼並且必須關閉Program.cs窗口的代碼是一件令人煩惱的事情,而我只是不想做的事情。如何在不改變窗口焦點的情況下全部中斷

是否有一種簡單的方法讓代碼在當前窗口中斷?

我發現的唯一方法是編寫一個可以暫停代碼的小宏,檢查是否創建了新窗口,如果是,則關閉它。這不是理想的,它是相當原始的,但它做到了這一點。然後,我剛剛添加了一個名爲「Break In Place」的工具欄命令,它位於我的調試工具欄中。如果任何人感興趣的宏代碼是:

Option Strict Off 
Option Explicit Off 
Imports System 
Imports EnvDTE 
Imports EnvDTE80 
Imports EnvDTE90 
Imports System.Diagnostics 

Public Module Break 
    Sub BreakInPlace() 
     Dim activeWindow As EnvDTE.Window 
     activeWindow = DTE.ActiveWindow 

     DTE.Debugger.Break(True) 

     If Not activeWindow Is DTE.ActiveWindow Then 
      DTE.ActiveWindow.Close(vsSaveChanges.vsSaveChangesNo) 
     End If 
    End Sub 
End Module 
+0

你不是第一個有這個問題的人。 20年前我們已經有過這個問題(當時的Vax/VMS工作站)。解決方案仍然相同:使用2臺機器:一臺運行應用程序,另一臺運行調試器。 – Patrick 2010-06-02 13:31:02

+0

對不起,我只是想澄清一下。我只是在談論運行調試器(即F5 - 開始調試)。 – openshac 2010-09-10 09:02:45

回答

0

如果您有多臺計算機可用(甚至可能是虛擬機),您可以使用遠程調試器。

1

要移回到以前的位置使用View->Navigate Backward按Ctrl +-) - 一次或最多幾次。它加快了最新光標位置的速度。

在另一方面View->Navigate ForwardCtrl鍵 + + -)允許向前移動(如由名稱示出)。

-1

這是一個免費擴展:Disable No Source Available Tab。很棒。

這個小擴展會阻止標題爲「No Source Available」的工具窗口出現在Visual Studio中,並將焦點保留在當前活動的選項卡上。

相關問題