c/c++头文件与cpp文件的切换实现

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.

 VCE customizing panel

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值