How many times c/c++ programmer swaps between source and header files? Hundreds times per a day! Simple macros in DTE essentially accelerates swapping action.
Create new module, or use existing one, in my case "CommonMacros". To convenience, it is necessary link up this macros to hot key, see picture.
Macros code
Collapse
Option
Explicit
On
Imports
EnvDTE
Public
Module
CommonMacros
Sub
SourceHeaderJumper()
'
splitted file name
Dim
SArr As
System.Array
'
new filename generated by macros
Dim
NewFN As
String
'
file name base (without extention)
Dim
FNBase As
String
'
file extention
Dim
Ext As
String
'
simple counter
Dim
i As
Integer
If
DTE.ActiveDocument() Is
Nothing
Then
Exit
Sub
End
If
SArr = DTE.ActiveDocument().Name().Split("
."
)
'
has file extention?
If
(SArr.GetLength(0
) < 2
) Then
Exit
Sub
End
If
'
file name base
FNBase = DTE.ActiveDocument().Path()
For
i = 0
To
SArr.GetLength(0
) - 2
FNBase = FNBase + SArr(i) + "
."
Next
'
file extention
Ext = System.Convert.ToString(SArr(SArr.GetLength(0
) - 1
)).ToLower()
'
business logic
If
(Ext = "
cpp"
) Or
(Ext = "
c"
) Then
NewFN = FNBase + "
h"
Else
If
Ext = "
h"
Then
NewFN = FNBase + "
cpp"
If
Not
System.IO.File.Exists(NewFN) Then
NewFN = FNBase + "
c"
End
If
End
If
End
If
'
if you don't want add file to tabs uncomment next line
'
DTE.ActiveDocument().Close()
'
opens needed file
If
System.IO.File.Exists(NewFN) Then
DTE.ItemOperations.OpenFile(NewFN)
End
If
End
Sub
End
Module
摘自:http://www.codeproject.com/KB/macros/SourceHeaderJumper.aspx