如何在不改变窗口焦点的情况下打破全部

时间:2010-06-02 13:25:15

标签: visual-studio

在测试Windows窗体UI时,我经常要在代码运行时修改代码。单击“全部中断”箭头为我执行此操作,但是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

3 个答案:

答案 0 :(得分:1)

要返回到之前的位置,请使用View->Navigate Backward Ctrl + - ) - 一次或最多几次。它在后期光标位置上移动很多。

另一方面View->Navigate Forward Ctrl + Shift + - )让我们前进(如名称所示)

答案 1 :(得分:0)

如果您有多台计算机可用(甚至可能是虚拟机),您可以使用远程调试器。

答案 2 :(得分:-1)

有一个免费的扩展程序:Disable No Source Available Tab。效果很好。

  

这个小扩展名将阻止工具窗口标题为“#34; No Source Available"从Visual Studio中出现,并将焦点保留在当前活动的选项卡上。