步骤如下:
一、Project ---> Open Project 中打开Base项目(source insight自带的工程),新建一个comment.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)
-
}
实现“#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 )
-
}
这份宏的代码可以把光标显示的行注释掉:
macro CommentSingleLine()
{
hbuf = GetCurrentBuf()
ln = GetBufLnCur(hbuf)
str = GetBufLine (hbuf, ln)
str = cat("/*",str)
str = cat(str,"*/")
PutBufLine (hbuf, ln, str)
}
//将一行中鼠标选中部分注释掉:
macro CommentSelStr()
{
hbuf = GetCurrentBuf()
ln = GetBufLnCur(hbuf)
str = GetBufSel代写论文、pos(hbuf)
str = cat("/*",str)
str = cat(str,"*/")
SetBufSel代写论文、pos (hbuf, str)
}
然后在Options->KeyAssignments中你就可以搜索看到这几个宏了,宏的名字分别是MultiLineComments、AddMacroComment,然后我们为它们分别配快捷键“Ctrl + Alt + /”,“Ctrl + Shift + /” 就可以了。
主要参考以下文章:
https://blog.csdn.net/andylauren/article/details/69487230
阅读(77023) | 评论(0) | 转发(0) |