zoukankan      html  css  js  c++  java
  • Visual Studio 在Cpp和头文件间切换的宏 (Alt + O)

    Visual Studio 在Cpp和头文件间切换的宏 (Alt + O)

    (see link: http://www.codeproject.com/KB/macros/SourceHeaderJumper.aspx)

    Introduction

    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 Copy Code
        
    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

    Conclusion

    Try this feature, this macros will save hours of you time during programming from month to month.

  • 相关阅读:
    SecureCRT乱码问题简单的解决办法
    安家博客园,开始java web 之旅
    Java Service Wrapper使用心得
    vsftp折腾
    mysql更改数据库表名称和svnerve启动版本库命令、执行jar命令
    Linux 命令积累2
    二进制与十进制的转换
    java Map代替List在for循环中的应用
    Optional 的应用
    java Date、java.sql.Date、localTime、SimpleDateFormat的格式及应用
  • 原文地址:https://www.cnblogs.com/SunWentao/p/1699216.html
Copyright © 2011-2022 走看看