用习惯了CodeWarrior的头文件/Cpp文件切换的快捷键,感觉还是不错的,但是VS.NET里面竟然没有,只好上网搜了下,嘿嘿,还不错,让我找到了,特地拷贝过来以供参考,很简单的一端宏


VS.NET 2005中头文件/CPP文件切换的宏Sub SourceHeaderJumper()
VS.NET 2005中头文件/CPP文件切换的宏        
'splitted file name
VS.NET 2005中头文件/CPP文件切换的宏
        Dim SArr As System.Array
VS.NET 2005中头文件/CPP文件切换的宏        
'new filename generated by macros
VS.NET 2005中头文件/CPP文件切换的宏
        Dim NewFN As String
VS.NET 2005中头文件/CPP文件切换的宏        
'file name base (without extention)
VS.NET 2005中头文件/CPP文件切换的宏
        Dim FNBase As String
VS.NET 2005中头文件/CPP文件切换的宏        
'file extention
VS.NET 2005中头文件/CPP文件切换的宏
        Dim Ext As String
VS.NET 2005中头文件/CPP文件切换的宏        
'simple counter
VS.NET 2005中头文件/CPP文件切换的宏
        Dim i As Integer
VS.NET 2005中头文件/CPP文件切换的宏
VS.NET 2005中头文件/CPP文件切换的宏        
If DTE.ActiveDocument() Is Nothing Then
VS.NET 2005中头文件/CPP文件切换的宏            
Exit Sub
VS.NET 2005中头文件/CPP文件切换的宏        
End If
VS.NET 2005中头文件/CPP文件切换的宏        SArr 
= DTE.ActiveDocument().Name().Split(".")
VS.NET 2005中头文件/CPP文件切换的宏        
'has file extention?
VS.NET 2005中头文件/CPP文件切换的宏
        If (SArr.GetLength(0< 2Then
VS.NET 2005中头文件/CPP文件切换的宏            
Exit Sub
VS.NET 2005中头文件/CPP文件切换的宏        
End If
VS.NET 2005中头文件/CPP文件切换的宏
VS.NET 2005中头文件/CPP文件切换的宏        
'file name base
VS.NET 2005中头文件/CPP文件切换的宏
        FNBase = DTE.ActiveDocument().Path()
VS.NET 2005中头文件/CPP文件切换的宏        
For i = 0 To SArr.GetLength(0- 2
VS.NET 2005中头文件/CPP文件切换的宏            FNBase 
= FNBase + SArr(i) + "."
VS.NET 2005中头文件/CPP文件切换的宏        
Next
VS.NET 2005中头文件/CPP文件切换的宏
VS.NET 2005中头文件/CPP文件切换的宏        
'file extention
VS.NET 2005中头文件/CPP文件切换的宏
        Ext = System.Convert.ToString(SArr(SArr.GetLength(0- 1)).ToLower()
VS.NET 2005中头文件/CPP文件切换的宏
VS.NET 2005中头文件/CPP文件切换的宏        
'business logic
VS.NET 2005中头文件/CPP文件切换的宏
        If (Ext = "cpp"Or (Ext = "c"Then
VS.NET 2005中头文件/CPP文件切换的宏            NewFN 
= FNBase + "h"
VS.NET 2005中头文件/CPP文件切换的宏        
Else
VS.NET 2005中头文件/CPP文件切换的宏            
If Ext = "h" Then
VS.NET 2005中头文件/CPP文件切换的宏                NewFN 
= FNBase + "cpp"
VS.NET 2005中头文件/CPP文件切换的宏                
If Not System.IO.File.Exists(NewFN) Then
VS.NET 2005中头文件/CPP文件切换的宏                    NewFN 
= FNBase + "c"
VS.NET 2005中头文件/CPP文件切换的宏                
End If
VS.NET 2005中头文件/CPP文件切换的宏            
End If
VS.NET 2005中头文件/CPP文件切换的宏        
End If
VS.NET 2005中头文件/CPP文件切换的宏
VS.NET 2005中头文件/CPP文件切换的宏        
'if you don't want add file to tabs uncomment next line
VS.NET 2005中头文件/CPP文件切换的宏
        'DTE.ActiveDocument().Close()
VS.NET 2005中头文件/CPP文件切换的宏

VS.NET 2005中头文件/CPP文件切换的宏        
'opens needed file
VS.NET 2005中头文件/CPP文件切换的宏
        If System.IO.File.Exists(NewFN) Then
VS.NET 2005中头文件/CPP文件切换的宏            DTE.ItemOperations.OpenFile(NewFN)
VS.NET 2005中头文件/CPP文件切换的宏        
End If
VS.NET 2005中头文件/CPP文件切换的宏    
End Sub


然后给宏设置一个快捷键就OK了。

代码摘自:http://www.codeproject.com/KB/macros/SourceHeaderJumper.aspx

相关文章: