Source Insight通过快捷按键添加多种代码注释

Base project -> Utils.em:

macro getTime()
{
    Time = GetSysTime(1)
    Year = Time.Year
    Mon = Time.Month
    Day = Time.Day  
    Hour = Time.Hour
    Min = Time.Minute
    Sec = Time.Second

    if(Mon < 10)
        szMon = "0@Mon@"
    else
        szMon = Mon

    if(Day < 10)
        szDay = "0@Day@"
    else
        szDay = Day

    if(Hour < 10)
        szHour = "0@Hour@"
    else
        szHour = Hour

    if(Min < 10)
        szMin = "0@Min@"
    else
        szMin = Min     

    szTime = "@Year@@szMon@@szDay@.@szHour@@szMin@"
    return szTime
}

macro aaaResetTypeId()
{
    setreg(MYTYPEID, "")
    setreg(MYOPETYPE, "")   
    setreg(MYOPEINFO, "")   
}
macro aaaResetOpeType()
{
    setreg(MYOPETYPE, "")   
}
macro aaaResetOpeInfo()
{   
    setreg(MYOPEINFO, "")   
}
macro aaaResetName()
{
    setreg(MYNAME, "")  
}
macro aaaCM(cmType)
{
    hwnd = GetCurrentWnd()
    lnFirst = GetWndSelLnFirst(hwnd)
    lnLast = GetWndSelLnLast(hwnd)   
    hbuf = GetCurrentBuf()

    szTime = getTime()

    szMYTYPEID = getreg(MYTYPEID)
    if(strlen( szMYTYPEID ) == 0)
    {
        szMYTYPEID = Ask("Enter TypeId, such as: Bug23948239")
        if (szMYTYPEID != "")
            setreg(MYTYPEID, szMYTYPEID)            
    }
    szMYNAME = getreg(MYNAME)
    if(strlen( szMYNAME ) == 0)
    {
        szMYNAME = Ask("Enter your name:")
        if (szMYNAME != "")
            setreg(MYNAME, szMYNAME)
    }
    szMYOPETYPE= getreg(MYOPETYPE)
    if(strlen( szMYOPETYPE ) == 0)
    {
        szMYOPETYPE = Ask("Enter your operation type:")
        if (szMYOPETYPE != "")
            setreg(MYOPETYPE, szMYOPETYPE)
    }           

    szMYOPEINFO= getreg(MYOPEINFO)
    if(strlen( szMYOPEINFO ) == 0)
    {
        szMYOPEINFO = Ask("Enter your operation info:")
        if (szMYOPEINFO != "")
            setreg(MYOPEINFO, szMYOPEINFO)
    }   

    if (cmType == "JavaSingleLineA")
    {
        InsBufLine(hbuf, lnFirst, "// + @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@")
        InsBufLine(hbuf, lnLast+2, "// - @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@")     
    }else if (cmType == "JavaSingleLineB")
    {
        InsBufLine(hbuf, lnFirst, "/* + @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@ */")
        InsBufLine(hbuf, lnLast+2, "/* - @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@ */")          
    }else if (cmType == "JavaMultiLineA")
    {
        InsBufLine(hbuf, lnFirst, "/* + @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@")
        InsBufLine(hbuf, lnLast+2, " - @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@ */")        
    }else if (cmType == "JavaMultiLineB")
    {
        InsBufLine(hbuf, lnFirst, "// + @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@")
        InsBufLine(hbuf, lnLast+2, "// - @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@")     
    }else if (cmType == "XMLSingleLine")
    {
        InsBufLine(hbuf, lnFirst, "<!-- + @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@ -->")
        InsBufLine(hbuf, lnLast+2, "<!-- - @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@ -->")       
    }else if (cmType == "XMLMultiLine")
    {
        InsBufLine(hbuf, lnFirst, "<!-- + @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@")
        InsBufLine(hbuf, lnLast+2, " - @szMYTYPEID@, @szMYNAME@, @szMYOPETYPE@, @szTime@, @szMYOPEINFO@ -->")       
    }
}
// // + xxxx
// // - xxxx
macro aaaCMJavaSingleLineA()
{
    cmType = "JavaSingleLineA"
    aaaCM(cmType);
}
// /* + xxxx */
// /* - xxxx */
macro aaaCMJavaSingleLineB()
{
    cmType = "JavaSingleLineB"
    aaaCM(cmType);
}
// /* + xxx
//   xxx
//   xxx
// - xxx */
macro aaaCMJavaMultiLineA()
{
    cmType = "JavaMultiLineA"
    aaaCM(cmType);
}
// // + xxx 
// // xxx
// // xxx
// // - xxx
macro aaaCMJavaMultiLineB()
{
    cmType = "JavaMultiLineB"
    aaaCM(cmType);
}
// <!-- + xxx -->
// <!-- - xxx -->
macro aaaCMXMLSingleLine()
{
    cmType = "XMLSingleLine"
    aaaCM(cmType);
}
// <!-- + xxx
//   xxx
//   xxx
// - xxx -->
macro aaaCMXMLMultiLine()
{
    cmType = "XMLMultiLine"
    aaaCM(cmType);
}

打开Base工程:
这里写图片描述
讲上面内容添加到文件Utils.em,然后保存并关闭Base工程,重新打开一个新的项目:
这里写图片描述
依次打开菜单Options->Key Assignments… , 并键入”macro”,左侧列表里面可以查看到我们上面添加的macro:
这里写图片描述
点击左侧列表中的macro项,再点击Assign New Key…按钮分配快捷键:
这里写图片描述
依次键入快捷键,结果如下:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值