|
本帖最后由 tinyabao 于 2014-1-8 20:17 编辑
分享一个source insight的宏,这是我目前使用的,里面的函数由个人编写、修改和整理而来,希望对大家有帮助,也感谢代码中引用一些函数的作者。
有些宏的功能参照eclipse而来,eclipse也是很赞的编辑器。
使用说明宏中有,贴出部分说明:
- /******************************************************************************
- * 功能: Source Insight常用宏
- *
- * 文件: BaoUtils.em
- *
- * 说明: 1. 修改第一个宏GetName,将名字改为自己的,注意双引号不能删除
- * 2. 运行Soucre Insight,打开Base工程,将BaoUtils.em加入到工程中
- * 3. 打开Soucre Insight的Options的Key Assignments菜单,在Command窗口中输入字母"M",选择Macro: BaoHelp
- * 单击Assign New Key对其赋一个热键,例如 ALT + ~ ( ~ 为键ESC下面的键)
- * 4. 在 c或h 源文件按 ALT + ~ ,即可出现帮助宏的效果, 请参照帮助设其他宏快捷键
- * 5. 打开Soucre Insight的Options的Document Options, Tab Width设 4
- *
- * 历史: V1.2 1. 加入BaoDeleteSelectLine
- * 2. 加入BaoShiftEnter
- * 3. 修改BaoIf BaoFor BaorWhile BaoSwitch在内容前填充空格或tab
- * 4. 修改BaoNewFileH的 "#define @szDefineCase@_EXTERN" 为 "#define @szDefineCase@_EXT"
- * 5. BaoNewFileH加入定义变量示例,方便复制
- * 6. 修改分割线一行最多为80个字符,以符合国际标准
- *
- * 作者: BlackCoal 3/23/2012
- ******************************************************************************/
- macro GetName()
- {
- szMyName = "BlackCoal"
- return szMyName
- }
- // 【帮助】
- macro BaoHelp()
- {
- hbuf = GetCurrentBuf(); // 获得光标所在的所有内容
- ln = GetBufLnCur(hbuf)
- lnFirst = ln
- InsBufLine(hbuf, ln++, "/*************************** BaoUtils.em 使用帮助 ***************************/");
- InsBufLine(hbuf, ln++, " #define ALT // 用于ALT和CTRL颜色区别");
- InsBufLine(hbuf, ln++, " void CTRL();");
- InsBufLine(hbuf, ln++, " #define SHIFT");
- InsBufLine(hbuf, ln++, "/* ------------------------------- 快捷键 ---------------------------------- */");
- InsBufLine(hbuf, ln++, " // 左ALT");
- InsBufLine(hbuf, ln++, " ALT + ~ // 【帮助】 BaoHelp");
- InsBufLine(hbuf, ln++, " ALT + 1 // 【#if 0 #endif】 屏蔽多行 BaoIf0");
- InsBufLine(hbuf, ln++, " ALT + 2 // 去掉多行屏蔽【#if 0 #endif (也可以去掉选中的 头尾 行)】 BaoUnIf0");
- InsBufLine(hbuf, ln++, " ALT + 3 // 【 // 】, //前两个tab键,用于在代码行的 右边 插入行注释 BaoCommentLine");
- InsBufLine(hbuf, ln++, " ALT + 4 // 【插入一空行,下一行 // 】, 用于在代码段的 上方 插入块注释 BaoCommentBlock");
- InsBufLine(hbuf, ln++, " // 右ALT");
- InsBufLine(hbuf, ln++, " ALT + 5 // 【printf(有__MODULE__)】,自己加入模块前缀 BaoPrintfM");
- InsBufLine(hbuf, ln++, " ALT + 6 // 【printf()】,自己加入模块前缀 BaoPrintf");
- InsBufLine(hbuf, ln++, " ALT + 7 // 【switch()】 BaoSwitch");
- InsBufLine(hbuf, ln++, " ALT + 8 // 【while() { }】 BaoWhile");
- InsBufLine(hbuf, ln++, " ALT + 9 // 【for()】 BaoFor");
- InsBufLine(hbuf, ln++, " ALT + 0 // 【if()】 BaoIf");
- InsBufLine(hbuf, ln++, " // 左CTRL");
- InsBufLine(hbuf, ln++, " CTRL + 1 // 【#if 编译的条件 #endif】 BaoIfDef");
- InsBufLine(hbuf, ln++, " CTRL + 2 // 【函数头说明】 请将光标放在 函数头(如:int main() )或函数内 的任意地方 BaoFunHead");
- InsBufLine(hbuf, ln++, " CTRL + 3 // 【函数头说明历史】 请将光标放在 函数头(如:int main() )或函数内 的任意地方 BaoFunHistory");
- InsBufLine(hbuf, ln++, " // 右CTRL");
- InsBufLine(hbuf, ln++, " CTRL + 7 // 【新的 c 文件】 BaoNewFileC");
- InsBufLine(hbuf, ln++, " CTRL + 8 // 【新的 h 文件】 BaoNewFileH");
- InsBufLine(hbuf, ln++, " CTRL + 9 // 去掉 // 屏蔽多行 BaoSlashUnMask");
- InsBufLine(hbuf, ln++, " CTRL + 0 // 用 // 屏蔽多行【// int i = 0;】 BaoSlashMask");
- InsBufLine(hbuf, ln++, " // 其他");
- InsBufLine(hbuf, ln++, " CTRL + D // 【删除选中的行】 BaoDeleteSelectLine");
- InsBufLine(hbuf, ln++, " ALT + D // 【退格键】 BaoSuperBackspace");
- InsBufLine(hbuf, ln++, " SHIFT + ENTER // 【插入一行】 BaoShiftEnter");
- InsBufLine(hbuf, ln++, "/* -------------------------------- 备注 ----------------------------------- */");
- InsBufLine(hbuf, ln++, "// 作者: BlackCoal 3/23/2012");
- InsBufLine(hbuf, ln++, "// 说明: 此帮助宏为了查看快捷键,使用此宏后撤销。可以按这种去分配宏,也可以DIY。");
- InsBufLine(hbuf, ln++, "// 建议TAB键为 4 个空格! ");
- InsBufLine(hbuf, ln++, "/*****************************************************************************/");
- }
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|