2

今天我尝试将一个100+文件的项目中所有QSharedPointer类型的智能指针的类型更改为boost::shared_ptr。

我用 sed 和 grep 解决了这个问题,但起初看起来很简单,结果却是一场噩梦,因为虽然 QSharedPointer 只有 clear 和 data,但 boost::shared_ptr 分别使用 reset 和 get。替换那些原来也替换了许多列表和字符串的清除,以及字节数组的 data()。

是否有可以自动完成这项工作的 IDE?

4

2 回答 2

2

如果您还没有 Qt Creator,您也可以按照 Drew Dormann 的建议进行操作,并且它是免费的。只需右键单击实例的clear()data()方法QSharedPointer,选择 Refactor - Rename 光标下的符号,然后替换为boost::shared_ptr

请记住,Creator 重构工具(至少在 Windows 上)将退出您的项目并提供重构 Qt 库头文件,因此您应该取消选中列表中的那些。

替换所有呼叫后,您可以重命名QSharedPointerboost::shared_ptr输入名称,然后就完成了。

于 2013-04-02T17:25:01.067 回答
0

Visual Assist是 Visual Studio 的附加组件,具有免费试用期。

该工具包括一个“重命名此成员函数”,您可以在sed-grepping类型本身的名称QSharedPointer之前对两个成员使用它。

于 2013-04-02T17:02:59.957 回答