source insight 添加多行注释

本文介绍在SI软件中如何快速添加和删除多行注释的方法,包括使用宏实现多行注释的自动化操作,以及如何通过快捷键提高工作效率。此外,还介绍了如何在代码中添加#if0 #endif预处理器指令,以实现代码段的临时屏蔽。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

si 添加多行注释


点击 Project --> open project --> 选择Base,添加代码后再次选择打开项目,选择你之前建立的工程项目,打开。
然后点击 Option --> key Assignments --> 找到新添加的名字,例MultiLineComment,后点击Assign New Key,如下图所示
在这里插入图片描述
多行注释,ctrl+\ 也可删除
在文件末尾添加如下代码:

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)

	// 添加末尾注释
	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, Strlen(buf)-1, Strlen(buf)) == "/")
        {       //需要取消注释,防止只有单字符的行
            if(StrMid(buf, Strlen(buf)-2, Strlen(buf)-1) == "*")
            {
                PutBufLine(hbuf, Ln, StrMid(buf, 0, Strlen(buf)-2))
            }
        }
 		
        if(StrMid(buf,Strlen(buf)-1,Strlen(buf)) != "/")
        {          //需要添加注释
            PutBufLine(hbuf, Ln, Cat(buf, "*/"))
        }
        
        Ln = Ln + 1
    }
    SetWndSel(hwnd, selection)
    
}

 
添加#if 0 #endif

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 )  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值