• 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.

  • 相关阅读:
    jemter 90%line的解释
    JMeter 不同线程组间变量传递(亲测 ok)
    nginx的url规则小tips
    redis水平扩展实践,完全配置,无需代码改动
    基于nginx + lua实现的反向代理动态更新
    基于redis 3.x搭建集群环境
    简单监控脚本细节分析
    简单的应用服务器性能监控
    Elasticsearch的脚本化数据导入导出
    A* search算法
  • 原文地址:https://www.cnblogs.com/SunWentao/p/1699216.html
Copyright © 2020-2023  润新知