用途:该技能面向批量代码转换与迁移,通过模式搜索和正则替换来统一修改大量代码位置,适合 API 或库迁移、更新弃用写法、执行编码规范以及批量重构等场景。
主要能力:分为四个阶段。一是模式发现,使用 serena_search_for_pattern 查找全部匹配、分析模式变体并识别边界情况;二是模式定义,编写精确正则、先在部分匹配上测试并迭代;三是转换,使用 serena_replace_content 的正则模式,配合通配符进行大批量替换并逐项核对;四是验证,运行测试、检查编译错误并复核上下文中的改动。
使用方式:先搜索定位,再定义并小范围验证正则,然后批量替换。资料给出的示例流程为: 先执行 serena_search_for_pattern("oldApi\.call"), 再执行 serena_replace_content("oldApi\.call\((.?)\)", "newApi.call($1)", "regex")。 迁移模式示例是把 oldFunction((.?)) 替换为 newFunction($1, { option: true })。弃用模式示例是先匹配 @deprecated.*\n.*function,再插入 TODO 提示。
最佳实践与限制:建议使用带通配符的正则模式以提高效率,先在单个文件上测试模式,谨慎使用 allow_multiple_occurrences,批量修改后务必验证,始终预览改动、结合版本控制以便回滚,并运行完整测试套件、记录模式变更。该技能依赖 Serena 工具,资料未提供安装命令、收费信息、平台支持范围和具体性能效果,实际使用前需自行确认环境是否具备相关工具。