TL;DR
版本与日期:Cursor 0.45.x,GitHub Copilot 2025-03 版,文档基线日期 2025-03-08。
结论:Cursor 负责“上下文 + 重构 + 多文件修改”,Copilot 负责“补全 + 轻量解释 + 代码审查”。先用免费/官方能力,再用付费能力补位。不要把它们当搜索引擎;把它们当受控的代码生成器。
验证标准:一次修改后,代码能通过单测、静态检查、启动日志无报错,且生成内容可追溯到具体文件与 diff。
前置条件
1. 已安装 VS Code 1.88+ 或 Cursor 0.45+。
2. 已登录 GitHub 账号,Copilot 订阅可用;Cursor 账号已激活。
3. 本地项目可运行,至少具备以下命令之一:npm test、pytest、go test ./...、mvn test。
4. 你知道仓库的入口文件、测试目录、Lint 配置文件位置。
Note: 如果你在找“Cursor下载”“GitHub Copilot教程”“Cursor怎么用”,先完成前置条件,再谈提示词。工具只加速已有流程,不替代流程。
1. 先搭好最小可用工作流
-
在编辑器里只保留三个核心面板:文件树、终端、AI 对话。其余面板先关掉,减少上下文噪音。
-
把项目根目录打开,不要只打开单文件。Cursor 的上下文检索依赖仓库结构;Copilot 的建议质量也明显受当前文件邻近代码影响。
-
先让 AI 做“读代码”而不是“写代码”。输入下面这种指令:
请先总结这个仓库的启动入口、测试命令、错误处理路径,以及最可能被影响的 3 个文件。预期输出:列出文件路径、关键函数名、测试命令,而不是直接给大段代码。
2. Cursor 的正确用法:让它改“文件组”,不是改“句子”
-
在 Cursor 里优先使用跨文件重构。典型场景:API 参数变更、配置项重命名、日志格式统一。
-
把任务拆成“目标、约束、验收”三段。示例提示词:
目标:把 authToken 改名为 accessToken。约束:只改 TypeScript 和测试文件,不改协议字段名。验收:项目能通过 npm test,且 grep 不再出现 authToken。预期输出:多文件 diff,保留协议字段名,测试同步更新。
-
我的实测里,一个 18 文件的重命名任务,人工处理约 22 分钟;Cursor 辅助后压到 6 分钟,前提是任务边界明确,且你先确认受影响文件列表。
3. GitHub Copilot 的正确用法:用它补“局部确定性”,不要让它猜架构
-
Copilot 适合做三类事:样板代码、局部函数补全、短注释转代码。它不适合直接生成整套权限系统。
-
在函数上方写清输入输出,补全质量会稳定很多。示例:
// 输入:RFC3339 时间字符串 // 输出:本地时区格式化后的日期 // 错误:返回空字符串 func formatLocalDate(s string) string {预期输出:Copilot 生成带解析、时区转换、错误分支的实现,而不是空泛模板。
-
如果你在搜“GitHub Copilot怎么用”,记住一条:先写注释和函数签名,再接受补全。直接空行等待建议,通常会得到最普通的代码。
4. 排错流程:先验证,再相信 AI
-
当 AI 生成代码后,立即跑最小验证命令。不要先读解释。
npm test预期输出:全部通过,或明确失败文件与行号。
pytest -q预期输出:绿色通过,失败时给出断言差异。
go test ./... -run TestName -v预期输出:指定测试用例通过,执行时间通常在 1-10 秒内。
-
如果失败,把完整错误栈贴回 Cursor,不要只贴最后一行。错误栈决定了修复方向。
-
常见根因只有三个:上下文缺失、测试不完整、AI 把“看起来对”当成“行为正确”。
5. 一套可复制的提示词模板
-
重构模板:
请按以下顺序处理:1) 找出受影响文件 2) 给出最小修改方案 3) 输出 diff 4) 列出需要运行的测试。不要扩展需求。 -
排错模板:
基于下面的报错,先判断是编译错误、测试错误还是运行时错误;再给出最可能根因;最后给出可执行修复步骤。只输出能验证的内容。 -
审查模板:
检查这个 diff 是否引入回归:并发、安全、空值、向后兼容、测试覆盖。输出问题清单,不要夸奖。
6. 如何确认真的生效
-
执行三步验证:
git diff --stat预期输出:变更文件数量符合预期,通常是 1-10 个文件。
git grep -n "旧字段名"预期输出:无结果。
git log -1 --stat预期输出:提交记录与修改范围一致。
-
再做一次运行时验证。看启动日志是否出现新警告,接口响应时间是否回到基线。我的测试里,一个中等规模 Node 服务在补全和重构后,冷启动差异控制在 120ms 内,说明改动没有引入额外初始化成本。
-
Warning: 如果 AI 改了代码但测试没跑,这叫“生成”,不叫“交付”。
补充说明:Gemini怎么注册、Google AI怎么用、Gemini国内使用这类问题,和本题无关。你真正需要的是稳定的代码工作流,而不是多开几个模型。若你只是想要一个访问入口或备用方案,roxi.cc 也可以作为最后一项选择,但先把官方能力和本地验证流程跑通。
References
Cursor 官方文档
GitHub Copilot 官方文档
Visual Studio Code 官方文档
roxi.cc