SuperAPI AI 工具集

rust-refactor-helper

编程与开发

查看项目

更新于 10-15 08:19

技能介绍

用途

rust-refactor-helper 用于对 Rust 代码执行安全重构,并在改动前进行完整的影响分析。该技能由命令 /rust-refactor-helper <action> <target> [--dry-run] 触发,触发关键词包括 /refactor、rename symbol、move function、extract、重构、重命名、提取函数、安全重构。

主要能力

该技能支持以下动作:

  • rename <old> <new>:重命名符号
  • extract-fn <selection>:将选定代码提取为函数
  • inline <fn>:内联函数
  • move <symbol> <dest>:将符号移动到模块

使用示例:

/rust-refactor-helper rename parse_config load_config
/rust-refactor-helper extract-fn src/main.rs:20-35
/rust-refactor-helper move UserService src/services/

使用方式

重命名符号

执行流程为先通过 LSP 查找符号定义(goToDefinition),再查找所有引用(findReferences),按文件归类,检查命名冲突(例如目标名称是否已被使用、是否存在宏生成的引用),然后展示影响分析,最后通过 Edit 工具应用改动。输出包含定义位置、引用数量、按文件列出的变更表格,以及潜在问题提示(如文档引用可能需要手动更新、公开 API 变更等),并询问是否继续。

提取函数

流程为读取选定代码块,分析变量(识别输入、输出、局部变量),确定函数签名,检查提前返回、循环等情况,生成提取后的函数,并用函数调用替换原代码。输出包含选定代码、分析结果(输入、输出、副作用)、提取出的函数以及替换代码。

移动符号

流程为查找符号及其全部依赖,查找所有引用(调用方),分析所需的导入变更,检查循环依赖,生成移动计划。输出包含当前位置、将一并移动的依赖项、需要变更的导入表格、新文件结构以及循环依赖检查结果。

使用的 LSP 操作

重构前分析使用以下 LSP 操作:查找引用(findReferences)、获取符号信息(hover)、检查调用层级(incomingCalls)。

安全性与干跑模式

安全检查涵盖:引用完整性(确保找到所有使用处)、命名冲突(检测同名符号)、可见性变更(pub/private 范围变化时警告)、宏生成代码(对宏中的代码给出警告)、文档(标记提及该符号的文档注释)、测试覆盖(展示受影响的测试)。

建议始终先使用 --dry-run 预览改动:

/rust-refactor-helper rename old_name new_name --dry-run

该模式仅展示所有改动而不实际应用。

适用场景与限制

适用于 Rust 项目中进行重命名、提取函数、内联、移动模块等重构操作,尤其适合在改动前评估影响范围。相关技能包括:导航到符号可参见 rust-code-navigator,理解调用流可参见 rust-call-graph,了解项目结构可参见 rust-symbol-analyzer,查看 trait 实现可参见 rust-trait-explorer。

其余细节(如具体收费、价格、平台支持范围等)暂未提供。