65.9K
CodeProject 正在变化。 阅读更多。
Home

VS.NET 2003 中的“类向导”

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.22/5 (6投票s)

2003年5月30日

CPOL
viewsIcon

59616

模拟 VS.NET 2003 中的类向导

引言

Visual Studio .NET 2003 带来了很多增强,但我有时会怀念 VC6 的类向导。特别是当我想重写例如 OnInitDialogCDialog 派生类中时,我发现切换到类视图,在列表中找到我的类,最后右键单击以获取属性非常麻烦。所以,如果你像我一样,这个宏就是为你准备的!

工作原理

你可以从 .h 或 .cpp 文件中使用这个宏。如果从 .cpp 文件调用,宏将切换到相应的 .h 文件。然后它会搜索

class <Whatever> 
{

如果你习惯将大括号放在类声明的同一行,你可能需要更改 DTE.Find.FindWhat 行并删除其中的\n (参见下面的代码)。

然后它会关闭查找对话框,将类视图与你的类同步,并显示属性窗口。然后你可以单击“事件/消息/重写”并选择要重写的函数。

当然,我把它映射到 Ctrl+W!

这是代码!

Sub ClassWizard()

    Dim a, b As String
    a = DTE.ActiveDocument.FullName()
    tmp = InStr(a, ".cpp")
    If tmp Then
        b = Left(a, Len(a) - 3) + "h"
        DTE.Documents.Open(b, "Text")
    End If

    DTE.ActiveDocument.Selection.StartOfDocument()
    DTE.ExecuteCommand("Edit.Find")
    DTE.Find.FindWhat = "class .*\n\{"
    DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxRegExpr
    DTE.Find.Execute()
    DTE.Windows.Item(Constants.vsWindowKindFindReplace).Close()
    
    DTE.ExecuteCommand("View.SynchronizeClassView")
    DTE.ExecuteCommand("View.PropertiesWindow")

End Sub
© . All rights reserved.