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)
    }
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章