当前位置:  开发笔记 > 开发工具 > 正文

如何将调试断点添加到Visual Studio的"查找结果"窗口中显示的行

如何解决《如何将调试断点添加到VisualStudio的"查找结果"窗口中显示的行》经验,为你挑选了1个好方法。

在Visual Studio 2005-2015中,可以找到包含某些引用的所有行,并在"查找结果"窗口中显示它们.

既然显示了这些结果行,是否有任何键盘快捷键允许向所有这些行添加调试断点?



1> Jeff Hillman..:

此答案不适用于Visual Studio 2015或更高版本.最近的答案可以在这里找到.

您可以使用Visual Studio宏轻松地完成此操作.在Visual Studio中,按Alt-F11打开宏IDE并通过右键单击MyMacros并选择添加|添加模块来添加新模块...

将以下内容粘贴到源编辑器中:

Imports System
Imports System.IO
Imports System.Text.RegularExpressions
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module CustomMacros
    Sub BreakpointFindResults()
        Dim findResultsWindow As Window = DTE.Windows.Item(Constants.vsWindowKindFindResults1)

        Dim selection As TextSelection
        selection = findResultsWindow.Selection
        selection.SelectAll()

        Dim findResultsReader As New StringReader(selection.Text)
        Dim findResult As String = findResultsReader.ReadLine()

        Dim findResultRegex As New Regex("(?.*?)\((?\d+)\):")

        While Not findResult Is Nothing
            Dim findResultMatch As Match = findResultRegex.Match(findResult)

            If findResultMatch.Success Then
                Dim path As String = findResultMatch.Groups.Item("Path").Value
                Dim lineNumber As Integer = Integer.Parse(findResultMatch.Groups.Item("LineNumber").Value)

                Try
                    DTE.Debugger.Breakpoints.Add("", path, lineNumber)
                Catch ex As Exception
                    ' breakpoints can't be added everywhere
                End Try
            End If

            findResult = findResultsReader.ReadLine()
        End While
    End Sub
End Module

此示例使用"查找结果1"窗口中的结果; 您可能希望为每个结果窗口创建单独的快捷方式.

您可以通过转到"工具"|"选项..."并在左侧导航中的" 环境"部分下选择" 键盘"来创建键盘快捷键.选择您的宏并指定您喜欢的任何快捷方式.

您还可以通过转到"工具"|"自定义..."并选择左侧导航中的" 宏"部分,将宏添加到菜单或工具栏中.在列表中找到宏后,您可以将其拖动到任何菜单或工具栏,在其中可以将文本或图标自定义为您想要的任何内容.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有