工具
Windows环境
- VSCode
- SourceInsight
Linux环境
- Vim
问题
- VSCode中添加多行注释的快捷键配置
- SourceInsight 中如何让.cc文件支持颜色
- SourceInsight中头文件与源文件切换配置
- SourceInsight中UTF-8中文显示为乱码问题
- Vim配置
解决方法
1. VSCode添加快捷键配置方法
2. .cc文件支持颜色解决方法:
Options -> Documents Options…
3. TabSiPlus分页插件 (CSDN中搜索既可以查到)
4. SourceInsight中头文件与源文件切换配置方法:SourceInsight中头文件与源文件切换配置方法:
- 在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")
}
- 然后打开muduo工程,就可以实现头文件与源文件切换。(快捷键是ctrl + .)
- 打开Options -> Key Assignments。在Command栏选中“Macro:
switch_cpp_hpp”;点击Assign New Key按钮设置快捷键(Ctrl+·),点击OK,就设定好了。
5.SourceInsight中UTF-8中文显示为乱码问题
解压msimg32.dll sihook.dll siutf8.dll 到Source Insight 3.X安装目录
https://blog.csdn.net/nyist327/article/details/39935379 (内含免费的dll下载链接)
6. Vim配置
参考:https://blog.csdn.net/wyy_sunshine/article/details/40144739