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.

  • 相关阅读:
    web学生选课平台
    YUM仓库的搭建
    定制RPM包
    会话保持
    Nginx负载均衡器+keepalived
    LAMP搭建配置
    KVM安装搭建
    安装PHP以及搭建博客(四)伪静态
    安装PHP以及搭建博客(三)服务迁移分离
    安装PHP以及搭建博客(二)
  • 原文地址:https://www.cnblogs.com/SunWentao/p/1699216.html
Copyright © 2011-2022 走看看