Source Insight marco:MultiLineComment

一、使用场景

Suorce Insight 中内置了一些实用的快捷键命令,可以在 Options->Key Assignments 中看到。另外,SI 还提供了用户自己添加功能的方法,就是 marco 指令。SI 内置了 13 种快键指令,例如:

Marco: KillLine      //删除整行
Marco: PasteKillLine //粘贴刚刚删除的一行
...

只不过默认这些功能都是没有绑定快捷键的,需要自己添加,例如我习惯把删除单行设置为 ctrl+d。

还有一个比较实用的功能就是多行注释,这个功能是 SI 是没有内置的。不过网上已经有人写好了这个功能的代码,我们添加进 marco 代码文件中就好。代码如下:

macro MultiLineComment()

{

    hwnd = GetCurrentWnd()

    selection = GetWndSel(hwnd)

    LnFirst =GetWndSelLnFirst(hwnd)      //取首行行号

    LnLast =GetWndSelLnLast(hwnd)      //取末行行号

    hbuf = GetCurrentBuf()



    if(GetBufLine(hbuf, 0) =="//magic-number:tph85666031"){

        stop

    }



    Ln = Lnfirst

    buf = GetBufLine(hbuf, Ln)

    len = strlen(buf)



    while(Ln <= Lnlast) {

        buf = GetBufLine(hbuf, Ln)  //取Ln对应的行

        if(buf ==""){                   //跳过空行

            Ln = Ln + 1

            continue

        }



        if(StrMid(buf, 0, 1) == "/"){       //需要取消注释,防止只有单字符的行

            if(StrMid(buf, 1, 2) == "/"){

                PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf)))

            }

        }



        if(StrMid(buf,0,1) !="/"){          //需要添加注释

            PutBufLine(hbuf, Ln, Cat("//", buf))

        }

        Ln = Ln + 1

    }



    SetWndSel(hwnd, selection)

}

二、添加方法

  • 1、使用 SI 打开 base 工程。
    这里写图片描述
  • 2、可见这个工程中只包含一个文件,即 utils.em ,这个文件就是 marco 功能的代码。内置的 13 个功能的代码都在这里。
    这里写图片描述
  • 3、将上面的代码粘贴到这个文件末尾,保存。此时,多行注释的功能就有了。
    这里写图片描述
  • 4、选中多行后,使用 ctrl+/ 就可以一次注释多行了,再次按下则取消注释。
    这里写图片描述

三、参考链接

Source Insight 多行注释

Source Insight中的多行注释

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值