Source Insight 技巧:头文件和实现文件快捷键打开的方式

http://blog.chinaunix.net/uid-27213819-id-3810619.html source insight并没有提供这样的快捷键,有时候用着比较烦人。终于找到了方法:使…

http://blog.chinaunix.net/uid-27213819-id-3810619.html source insight 并没有提供这样的快捷键,有时候用着比较烦人。终于找到了方法:使用宏命令,并设置快捷键与之绑定。 1、打开 source insight,Project – Open Project,打开 Base 项目,注:Base 项目是

登录后复制

http://blog.chinaunix.net/uid-27213819-id-3810619.html

source insight 并没有提供这样的快捷键,有时候用着比较烦人。终于找到了方法:使用宏命令,并设置快捷键与之绑定。

1、打开 source insight,Project -> Open Project,打开 Base 项目,注:Base 项目是 source insight 默认已经创建的。

2、打开 Utils.em 文件,在该文件的末尾加入如下内容:

/* cpp 和 hpp 文件互换(当前只支持同一目录下的文件互换) */ macro switch_cpp_hpp() { hwnd = GetCurrentWnd() hCurOpenBuf = GetCurrentBuf() if (hCurOpenBuf == 0) stop curOpenFileName = GetBufName(hCurOpenBuf) curOpenFileNameLen = strlen(curOpenFileName) // 文件类型临时缓冲区 strFileExt = NewBuf(\”strFileExtBuf\”) ClearBuf(strFileExt) // 头文件类型 index_hpp_begin = 0 // 头文件开始索引 AppendBufLine(strFileExt, \”.h\”) AppendBufLine(strFileExt, \”.hpp\”) index_hpp_end = GetBufLineCount(strFileExt) // 头文件结束索引 // 源文件类型 index_cpp_begin = index_hpp_end // 源文件开始索引 AppendBufLine(strFileExt, \”.c\”) AppendBufLine(strFileExt, \”.cpp\”) AppendBufLine(strFileExt, \”.cc\”) AppendBufLine(strFileExt, \”.cx\”) AppendBufLine(strFileExt, \”.cxx\”) index_cpp_end = GetBufLineCount(strFileExt) // 源文件结束索引 isCppFile = 0 // 0:未知 1:头文件 2:源文件,默认未知扩展名 curOpenFileExt = \”\” // 当前打开文件的扩展名 index = index_hpp_begin // 遍历头文件,判断是否当前打开文件是头文件类型 while(index < index_cpp_end) { curExt = GetBufLine(strFileExt, index) curExtLen = strlen(curExt) curOpenFileExt = strmid(curOpenFileName, curOpenFileNameLen-curExtLen, curOpenFileNameLen) // 当前打开文件的扩展名 // 调试 // AppendBufLine(debugBuf, curExt) // AppendBufLine(debugBuf, curOpenFileExt) if(curOpenFileExt == curExt) // 匹配成功 { if (index < index_hpp_end) isCppFile = 1 // 当前打开文件是头文件 else isCppFile = 2 // 源文件 break } index = index + 1 }// while(index < index_cpp_end) // 调试 // AppendBufLine(debugBuf, isCppFile) index_replace_begin = index_hpp_begin index_replace_end = index_hpp_end if (isCppFile == 1) // 当前打开文件是头文件 { index_replace_begin = index_cpp_begin index_replace_end = index_cpp_end } else if(isCppFile == 2) // 当前打开文件是源文件 { index_replace_begin = index_hpp_begin index_replace_end = index_hpp_end // 调试 // AppendBufLine(debugBuf, \"cpp\") } else // 未知类型 { //CloseBuf(strFileExt) // 关闭缓冲区 //stop index_replace_begin = 9999 index_replace_end = index_replace_begin // 下面循环不会执行 } index = index_replace_begin while(index < index_replace_end) { destExt = GetBufLine(strFileExt, index) destFileName = strmid(curOpenFileName, 0, curOpenFileNameLen-strlen(curOpenFileExt)) // 不包括扩展名,绝对路径 // 尝试当前目标扩展名是否能够打开 destFilePath = cat(destFileName, destExt) // 文件名(包括扩展名) hCurOpenBuf = OpenBuf(destFilePath) if(hCurOpenBuf != 0) { SetCurrentBuf(hCurOpenBuf) break } // 尝试进行目录替换,看能否打开文件(如何设计:支持多个目录) // …(赞不支持) index = index + 1 } CloseBuf(strFileExt) // 关闭缓冲区 // 调试 // AppendBufLine(debugBuf, \"finished\") }登录后复制 3、关闭 Base 项目,重新打开 Source Insight

4、打开 Option -> Key Assignments。在 Command 栏选中“Macro: switch_cpp_hpp”;点击 Assign New Key 按钮设置快捷键(Ctrl+·),点击 OK,就设定好了。

5、再打开一个项目,试试你刚刚设定的快捷键吧!!!

原创文章,作者:xingkupai,如若转载,请注明出处:http://xingkupai.com/office/13997.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注