今天我尝试将一个100+文件的项目中所有QSharedPointer类型的智能指针的类型更改为boost::shared_ptr。
我用 sed 和 grep 解决了这个问题,但起初看起来很简单,结果却是一场噩梦,因为虽然 QSharedPointer 只有 clear 和 data,但 boost::shared_ptr 分别使用 reset 和 get。替换那些原来也替换了许多列表和字符串的清除,以及字节数组的 data()。
是否有可以自动完成这项工作的 IDE?
今天我尝试将一个100+文件的项目中所有QSharedPointer类型的智能指针的类型更改为boost::shared_ptr。
我用 sed 和 grep 解决了这个问题,但起初看起来很简单,结果却是一场噩梦,因为虽然 QSharedPointer 只有 clear 和 data,但 boost::shared_ptr 分别使用 reset 和 get。替换那些原来也替换了许多列表和字符串的清除,以及字节数组的 data()。
是否有可以自动完成这项工作的 IDE?
如果您还没有 Qt Creator,您也可以按照 Drew Dormann 的建议进行操作,并且它是免费的。只需右键单击实例的clear()
和data()
方法QSharedPointer
,选择 Refactor - Rename 光标下的符号,然后替换为boost::shared_ptr
请记住,Creator 重构工具(至少在 Windows 上)将退出您的项目并提供重构 Qt 库头文件,因此您应该取消选中列表中的那些。
替换所有呼叫后,您可以重命名QSharedPointer
为boost::shared_ptr
输入名称,然后就完成了。
Visual Assist是 Visual Studio 的附加组件,具有免费试用期。
该工具包括一个“重命名此成员函数”,您可以在sed-grepping类型本身的名称QSharedPointer
之前对两个成员使用它。