用 Cursor 改旧项目,正确顺序是先读目录、锁定不能动的文件,再让它改一处逻辑。直接说「帮我重构」,它会同时改路由、命名和依赖,diff 大到无法审查。
下面按接手陌生仓库的真实过程写,适合一个人维护的老项目,不适合从零生成演示站。

Cursor改旧项目为什么不能直接写
旧项目里真正值钱的是边界条件:权限、空值、兼容旧数据。Cursor 对「能跑起来的新代码」很熟,对「这段判断为什么存在」不熟。你不先喂目录和关键文件,它只能按常见写法补全,于是把历史补丁当成垃圾清掉。
直接写只适合两种情况:新建空文件,或你已经能指出函数名、输入输出和测试命令。除此之外,先读。
先让Cursor读目录的具体做法
不要丢一句「看一下项目」。按这个清单给它范围:
- 根目录有哪些包、哪个是主入口
- 配置文件和环境变量在哪,哪些不能提交
- 和这次需求相关的 3~5 个文件,而不是整个 src
- 现有测试怎么跑,没有测试就先说清楚
本次只改订单取消逻辑。
先阅读:README、订单模块目录、取消接口文件。
不要改:鉴权中间件、支付回调、数据库迁移。
完成后给出:改了哪些文件、为什么改、如何本地验证。
它总结的目录如果和你看到的不一致,先纠正再允许编辑。这一步看起来慢,能避免它在错误模块里「优化」。
允许Cursor改代码时一次只改一个问题
| 可以一次交给它 | 不要一次交给它 |
|---|---|
| 补空值判断 | 重构架构 + 换框架 |
| 修一个明确报错 | 一边修 bug 一边加功能 |
| 给已有函数补测试 | 整文件重写并改命名风格 |
| 按现有接口加一个字段 | 顺手换 ORM 或状态管理 |
审查 diff 时重点看删除线。新增代码好懂,被删掉的旧判断才是风险。
Cursor和Copilot在旧项目里怎么分工
Copilot 适合补一行、补一个小函数。Cursor 适合在你圈定的文件里改一处流程。两者一起开时,补全冲突就关一层。旧项目更需要「能看完整块 diff 的工具」,而不是更多自动联想。
没有测试时怎么验收
先让 Cursor 根据这次改动补最小测试,或写出手工复现步骤。不能验收的改动不要合并。最低验收三条:
- 原功能仍能走通
- 新需求在指定输入下成立
- 权限和删除类操作没有被放宽
今天就能做完的最小闭环
选一个小需求,例如给列表加筛选。先让 Cursor 列出相关文件,你确认范围后,再允许它改一个文件。自己跑一遍页面或接口,再决定要不要让它写测试。不要用「重构整个模块」当第一课。
常见问题
仓库太大怎么办? 用目录和文件名限制上下文,不要把整仓贴进去。
它总引入新依赖? 在规则里写死:未经允许不得新增依赖。
和 ChatGPT 怎么配合? ChatGPT 讨论方案,Cursor 改仓库,不要两个地方同时改同一文件。
不会 Git 能用吗? 先学会看 diff 和撤销,再接受自动修改。
适合零基础从零写项目吗? 从零生成可以出页面,很难一次变成可维护产品。旧项目更要克制。
Ai菜鸟网。发布者:aibianjibu,转载请注明出处:https://www.alyyhw.com/10805.html