VC 2005 的IDE宏 - 创建 C++ 头文件的防重包含宏定义

为了防止 C++ 头文件 被重复包含,需要在头文件中加入防止防重包含的宏定义,这个IDE宏帮助完成这个工作。

在头文件里插入如下代码的宏


  
  
#ifndef __FILENAME_H_FEB57674_34B0_4043_BB8B_D4651FE588CB__
#define __FILENAME_H_FEB57674_34B0_4043_BB8B_D4651FE588CB__
#ifdef _MSC_VER
#pragma once
#endif
 
#endif //__FILENAME_H_FEB57674_34B0_4043_BB8B_D4651FE588CB__

======================== IDE 宏代码开始 ========================

 
 
Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Public Module HeadFile
    Const author = "jadedrip"
    Const compary = "杭州科技开发有限公司"
    ' 创建 C++ 头文件的防重包含宏定义
    Sub MakeHHead()
        Dim gid As String, def As String, filename As String, value As String
        Dim objTextDoc As TextDocument
        Dim objEP As EditPoint
        DTE.ActiveDocument.Selection.GotoLine(1)
        objTextDoc = DTE.ActiveDocument.Object("TextDocument")
        objEP = objTextDoc.StartPoint.CreateEditPoint
        ' Create an EditPoint and add some text.
        objEP.Insert("/*" + vbCr)
        objEP.Insert(" * Copyright (c) " + Date.Today.Year.ToString() + ", " + compary + vbCr)
        objEP.Insert(" * 保留所有权利。( All rights reserved. )" + vbCr)
        objEP.Insert(" * " + vbCr)
        objEP.Insert(" * 文件名称:" + DTE.ActiveDocument.Name + vbCr)
        objEP.Insert(" * 文件标识:" + vbCr)
        objEP.Insert(" * 摘    要:" + vbCr)
        objEP.Insert(" * " + vbCr)
        objEP.Insert(" * 当前版本:1.0" + vbCr)
        objEP.Insert(" * 作    者:" + author + vbCr)
        objEP.Insert(" * 完成日期:" + Date.Today.ToLongDateString + vbCr)
        objEP.Insert(" *" + vbCr)
        objEP.Insert(" * 取代版本:" + vbCr)
        objEP.Insert(" * 原作者  :" + vbCr)
        objEP.Insert(" * 完成日期:" + vbCr)
        objEP.Insert(" */" + vbCr)
        objEP.Insert("#ifndef ")
        gid = Guid.NewGuid().ToString()
        gid = gid.Replace("-", "_")
        gid = gid.ToUpper()
        filename = DTE.ActiveDocument.Name.ToUpper()
        filename = filename.Replace(".", "_")
        def = "__" + filename + "_" + gid + "__"
        objEP.Insert(def + vbCr)
        objEP.Insert("#define " + def + vbCr)

        objEP.Insert("#if _MSC_VER > 1000" + vbCr)
        objEP.Insert("#pragma once" + vbCr)
        objEP.Insert("#endif" + vbCr + vbCr + vbCr + vbCr + vbCr)
        objEP.Insert("#endif //" + def + vbCr)
        DTE.ActiveDocument.Selection.GotoLine(6)
    End Sub
End Module
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值