Source Insight 配置注释快捷键

  1. 说明

    1. 修改快捷键:Options->Key Assignments…(配置个人快捷菜单)
    2.  添加一些配置文件宏,比如:注释掉代码:单行注释、多行注释,将选中内容注释掉;在一行代码的前、后添加注释性文字等。
    3. 打开Projcet->Open project,选择base,可以看到utils.em文件,将下列宏添加到该文件中,并在其他工程里加入该文件
    4. 然后在Options->Key Assignments中就可以看到这个宏了,宏的名字是MultiLineComments,然后我们为它分配快捷键(Assign New Key..  --> 弹出窗口后 --> 按下Ctrl + q --> 点击OK)(“Ctrl + q”跟NotePad++一直,习惯了)
    5. 其它快捷键注释自己添加
    
  2. 单行、多行注释

    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)
    }
    
  3. 添加“#ifdef 0”和“#endif”的宏代码,定义快捷键为Ctrl+#

    macro AddMacroComment()
    {
        hwnd=GetCurrentWnd()
        sel=GetWndSel(hwnd)
        lnFirst=GetWndSelLnFirst(hwnd)
        lnLast=GetWndSelLnLast(hwnd)
        hbuf=GetCurrentBuf()
     
        if(LnFirst == 0) {
                szIfStart = ""
        }else{
                szIfStart = GetBufLine(hbuf, LnFirst-1)
        }
        szIfEnd = GetBufLine(hbuf, lnLast+1)
        if(szIfStart == "#if 0" && szIfEnd == "#endif") {
                DelBufLine(hbuf, lnLast+1)
                DelBufLine(hbuf, lnFirst-1)
                sel.lnFirst = sel.lnFirst – 1
                sel.lnLast = sel.lnLast – 1
        }else{
                InsBufLine(hbuf, lnFirst, "#if 0")
                InsBufLine(hbuf, lnLast+2, "#endif")
                sel.lnFirst = sel.lnFirst + 1
                sel.lnLast = sel.lnLast + 1
        }
     
        SetWndSel( hwnd, sel )
    }
    
  4. 把光标所在的行注释掉,定义快捷键为Ctrl+*:

    macro CommentSingleLine()
    {
        hbuf = GetCurrentBuf()
        ln = GetBufLnCur(hbuf)
        str = GetBufLine (hbuf, ln)
        str = cat("/*",str)
        str = cat(str,"*/")
        PutBufLine (hbuf, ln, str)
    }
    
  5. 将一行中鼠标选中部分注释掉,定义快捷键为Ctrl+shift+*:

    macro CommentSelStr()
    {
        hbuf = GetCurrentBuf()
        ln = GetBufLnCur(hbuf)
        str = GetBufSelText(hbuf)
        str = cat("/*",str)
        str = cat(str,"*/")
        SetBufSelText (hbuf, str)
    }
    

你可能感兴趣的:(其它)