VS.NET 2003 中的“类向导”






3.22/5 (6投票s)
模拟 VS.NET 2003 中的类向导
引言
Visual Studio .NET 2003 带来了很多增强,但我有时会怀念 VC6 的类向导。特别是当我想重写例如 OnInitDialog
在 CDialog
派生类中时,我发现切换到类视图,在列表中找到我的类,最后右键单击以获取属性非常麻烦。所以,如果你像我一样,这个宏就是为你准备的!
工作原理
你可以从 .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