Source Insight 宏-局部替换

博客围绕编码时在 Source Insight 编辑器中函数内替换参数的问题展开。介绍了全局查找替换命令为 ctrl+h,若想在函数内替换,可使用宏处理。说明了将宏添加到.em 文件并加入项目,设置快捷键后,可按操作步骤完成函数内字符串替换。

        编码中有没有遇到这种情况:添加一个新的函数,参考某某函数。然后我们新加一个函数名,把某某函数的内容全部拷贝过来,参数不一样时,再把拷贝过来的内容里的参数全部替换成新的参数。source insight 里替换的命令是ctrl+h,但是这个是全局查找来替换的;如果我只想在这个函数内进行替换呢,该怎么操作呢?

        下面使用宏来处理,具体的宏如下:

macro ReplaceInSelection()
{
    hwnd = GetCurrentWnd()	//取当前窗口
    LnFirst = GetWndSelLnFirst(hwnd) //取选中的首行行号
    LnLast = GetWndSelLnLast(hwnd) //取选中的末行行号
    hbuf = GetCurrentBuf()
	
	oldString = Ask("Input Old String") //输入旧字符串
	newString = Ask("Input New String") //输入新字符串

	//替换
	ReplaceInBuf(hbuf, "@oldString@", "@newString@", LnFirst, LnLast + 1, False, False, True, True)
}

把这个宏添加到一个.em 文件里,再添加到项目中,就可以为这个宏添加一个快捷键了,如:

操作时,可以不选中代码,那就要看光标在哪里了,也可以选中代码,如:

选中完按下快捷键,弹出要输入的旧的字符串,如:

然后再输入新的字符串,如:

确定后,会弹出对话框让你选择是一个个替换,还是全部替换,如:

选中“all” 确实后,原来的_entry 全部替换为了 entry222,如:

完美。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值