您的位置:首页 > 其它

用source insight宏自动加入或去除C注释

2012-10-30 15:02 197 查看
用source insight宏自动加入或去除C注释 收藏

我们的项目是主要在linux下的存C开发,SI这个工具无疑是必须的。但是手工加入注释很不方便,网上都是C++的注释风格,自己写了一个C的,共享一下,有兴趣的拿去修改一下。

/*
the info like:
by guixue 2009-8-19
*/
macro getCommentInfo()
{
szMyName = "guixue "
hbuf = GetCurrentBuf()
ln = GetBufLnCur(hbuf)
szTime = GetSysTime(1)
Hour = szTime.Hour
Minute = szTime.Minute
Second = szTime.Second
Day = szTime.Day
Month = szTime.Month
Year = szTime.Year
if (Day < 10)
szDay = "@"
else
szDay = Day
if (Month < 10)
szMonth = "@"
else
szMonth = Month

szDescription = "by"
szInfo ="@szDescription@ @szMyName@ @Year@-@szMonth@-@szDay@"
return szInfo
}
macro SingleLineComment()
{
hbuf = GetCurrentBuf()
ln = GetBufLnCur(hbuf)
szInfo = getCommentInfo()
InsBufLine(hbuf, ln+1, "/* @szInfo@ */")
}
macro C_CommentBlock()
{
hbuf = GetCurrentBuf();
hwnd = GetCurrentWnd();
sel = GetWndSel(hwnd);
/*
szLine = GetBufLine(hbuf, sel.lnFirst);
szLine = cat("/*", szLine);
PutBufLine(hbuf, sel.lnFirst, szLine);
*/
szInfo = getCommentInfo()
szInfo = "/*    @szInfo@"
InsBufLine(hbuf, sel.lnFirst, szInfo)
InsBufLine(hbuf, sel.lnLast+2, "*/")
tabSize = 4;
sel.ichFirst = sel.ichFirst + tabSize;
sel.ichLim = sel.ichLim + tabSize;
SetWndSel(hwnd, sel);
}
macro C_UnCommentBlock()
{
hbuf = GetCurrentBuf();
hwnd = GetCurrentWnd();
sel = GetWndSel(hwnd);
iLine = sel.lnFirst;
szLine = GetBufLine(hbuf, iLine);
szInfo = getCommentInfo()
szInfo = "/*    @szInfo@"

if (szLine[0] == "/" && szLine[1] == "*")
{
if(szInfo == szLine)
{
DelBufLine(hbuf, iLine)
}
else
{
return false;
}
}
else
{
return false;
}
iLine = sel.lnLast-1;
szLine = GetBufLine(hbuf, iLine);
len =strlen(szLine)
if(len <2)
return false;
if(szLine== "*/")
{
DelBufLine(hbuf, iLine)
}
else
{
return false;
}
SetWndSel(hwnd, sel);
return true;
}
macro C_Do_Comment()
{
flag =C_UnCommentBlock()
if(flag==false)
{
C_CommentBlock()
}
}


加入方法:

使用方法说明:

1. Project->Open Project... 打开Base工程(该工程一般在"我的文档\Source Insight\Projects\Base"中);

2. Project->Add and Remove Project Files... 加入宏文件(也可以把代码加到已有文件中,如Utils.em文件中);

3. Options->Menu Assignments 打开Menu Assignments窗口, 在Command中输入Macro, 选中要使用的宏, 添加到合适的菜单中.

还可以自定义快捷键;

SI官方的宏库:http://www.sourceinsight.com/public/macros/

source insight常用宏

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/oncoding/archive/2009/08/19/4463830.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: