日期:2011-10-23  浏览次数:20546 次


在编程时经常只记得函数名称的部分内容,想快速定位,但C#编辑器的函数列表没有搜索功能,用正则表达式搜索可以解决这个问题,现将此过程写成一个宏。
  使用方法:
 打开VS的宏编辑器,粘贴以下代码。为此宏指定一个快捷键(可选)用快捷键或直接运行宏,输入函数名称即可。用F3可以搜索下一个符合要求的函数。

    Sub SearchFunction()
        '根据函数名称搜索函数
        'By pharaoh 2005-4-19
        'http://blog.csdn.net/pharaoh/
        Dim sFind As String
        sFind = InputBox("输入函数名称")
        DTE.Find.FindWhat = "^[ \t]*(public |protected |private |static).*" + sFind + ".*\(.*$" '"^[ \t]*(public |protected |private |static).*" + sFind + ".*\([^;]*\).*$"
        DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument
        DTE.Find.MatchCase = False
        DTE.Find.MatchWholeWord = False
        DTE.Find.Backwards = False
        DTE.Find.MatchInHiddenText = True
        DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxRegExpr
        DTE.Find.Action = vsFindAction.vsFindActionFind
        DTE.Find.Execute()
    End Sub

此宏的主体使用VS的记录宏生成,经过少量修改而成。使用此方法可以快速生成一些对自己有用的宏。