• Source Insight常用快捷键及注释快捷键设置


    转:http://blog.csdn.net/tlaff/article/details/6536610

    在使用SI过程中,我根据自己的使用习惯修改了它的默认快捷键,并且在配置文件中添加了一些人性化功能,下面一一介绍:

     修改快捷键:Options->Key Assignments...

    1.main window:Esc       2.Hight light:Middle Mouse

    3.Go Back:Alt+z              4.Go Forward:Alt+x               

    5.Caller:Alt+c                  6.Reference:Alt+r

    7.Previous Link:Alt+a    8.Next Link:Alt+s

    9.First Link:Alt+d           

    10.Go Line:Alt+g           11.Select Line:Alt+l

    12.Symbol Win:Alt+q    13.Activate SW:Alt+w

    14.Projcet Win:Alt+[       15.Activate PW:Alt+]

    16.Contex Win:Alt+,     17.Activate CW:Alt+.

    18.Relation Win:Alt+;   19.Activate RW:Alt+'

    20.Select All:Ctrl+a          21.Save All:Ctrl+Shift+a

    22.Browse Project Symbols:Alt+b


    添加一些配置文件宏,比如:注释掉代码:单行注释、多行注释,将选中内容注释掉;在一行代码的前、后添加注释性文字等。

    打开Projcet->Open project,选择base,可以看到utils.em文件,将下列宏添加到该文件中,并在其他工程里加入该文件,

    在上面介绍的快捷键添加方式里找到该宏并自定义快捷键。

    单行、多行注释:

    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)
    }


    将上面的代码保存到utils.em文件,打开source insight,将该文件添加到工程中,然后在Options->Key Assignments中你就可以看到这个宏了,宏的名字是MultiLineComments,然后我们为它分配快捷键“Ctrl + /”,然后就可以了。

    这是一份添加“#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 )
    }

    这份宏的代码可以把光标所在的行注释掉,定义快捷键为Ctrl+*:

    macro CommentSingleLine()
    {
        hbuf = GetCurrentBuf()
        ln = GetBufLnCur(hbuf)
        str = GetBufLine (hbuf, ln)
        str = cat("/*",str)
        str = cat(str,"*/")
        PutBufLine (hbuf, ln, str)
    }

    将一行中鼠标选中部分注释掉,定义快捷键为Ctrl+shift+*:

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


    在一行代码前添加注释性文字,定义快捷键为Alt+/:

    在一行代码前添加注释性文字,定义快捷键为Alt+:


     

    最后是source insight与宏有关的资源:

  • 相关阅读:
    Tao Yu的论文之一 "Service Selection Algorithms for Web Services with Endtoend QoS Constraints (ISeBM2005)"
    Web Service Replacement相关论文收集
    温习一遍Ran03的论文
    笔记: WWW04QoS computation and policing in dynamic web service selection
    [阅读笔记] 支持服务关联的组合服务选择方法研究(cjc)
    脑子短路
    CIMS论文之一: 支持服务质量全局最优和动态重计划的Web服务组合
    [泛读]4篇Web Service Replication方面论文
    ITJ上的一篇论文(EWsFrame)
    我对elearning学习的感受
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/3311907.html
Copyright © 2020-2023  润新知