source insight筆記___批量注釋,去掉中文注釋文字間的空格

來源:互聯網
上載者:User

--------------------------------------------------------------------------------------------------------------------------

Source Insight  增加對pc檔案的識別,source insight其他類型檔案文法高亮

Options--->Preferences-->C Language-->Doc Types-->File Filter  增加一個 .pc

-------------------------------------------------------------------------------------------------------------------------

source insight拷貝中文的時候出現亂碼,複製中文出現亂碼:

解決方案:拷貝的時候把IME切換到中文

-------------------------------------------------------------------------------------------------------------------------

 

(1)、去掉中文注釋文字間的空格

中文注釋字與字之間有空格

 

options->style properties


comment

...

comment To Do


裡面的font->font name設定為“楷體”或其它中文字型就可以了!

 

(2)source insight批量注釋

在用source insight的時候,發現竟然沒有這樣的功能。於是在網上搜了一下,source insight裡面的多行注釋可以用宏來實現。

以下是實現多行注釋的宏代碼(在別的網站copy過來的,經過測試,還是很好用的):

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

 

將上面的代碼另存新檔xxx.em檔案,開啟source insight,將該檔案添加到工程中,然後在Options->Key Assignments中你就可以看到這個宏了,宏的名字是MultiLineComments,然後我們為它分配快速鍵“Ctrl + /”,然後就可以了。

這裡還有一份添加“#ifdef 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 )}這份宏的代碼可以把游標顯示的行注釋掉:123456789macro CommentSingleLine(){    hbuf = GetCurrentBuf()    ln = GetBufLnCur(hbuf)    str = GetBufLine (hbuf, ln)    str = cat("/*",str)    str = cat(str,"*/")    PutBufLine (hbuf, ln, str)}將一行中滑鼠選中部分注釋掉:123456789macro CommentSelStr(){    hbuf = GetCurrentBuf()    ln = GetBufLnCur(hbuf)    str = GetBufSelText(hbuf)    str = cat("/*",str)    str = cat(str,"*/")    SetBufSelText (hbuf, str)}

 

原文:http://www.2eggs.org/?p=147


 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.