cyang's blog

嵌入式入门/*到头发护理*/ http://cyang.tech

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中的多行注释

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。欢迎访问个人主页 http://cyang.tech https://blog.csdn.net/u011303443/article/details/62432505
个人分类: 软件
上一篇I2C Bit-Bang 程序分析
下一篇字符串指针与字符数组的区别
想对作者说点什么? 我来说一句

Source Insight Token Macro

2010年06月23日 2KB 下载

没有更多推荐了,返回首页

关闭
关闭