TL;DR
版本:Cursor 1.0.x、GitHub Copilot 2025-08、VS Code 1.92+;日期:2025-08-01。
结论:Cursor 负责“上下文驱动的改写”,Copilot 负责“编辑器内的快速补全”。先把项目结构、测试命令、格式化规则喂给工具,再让它做小步改动。不要一次让模型重写整仓库。
适用场景:AI编程助手Cursor GitHub Copilot使用技巧、Cursor下载、GitHub Copilot怎么用、Cursor教程、Copilot补全不生效排查。
一、前置条件:先把环境固定下来
目标:避免“工具能用,但输出不可复现”。
- 安装 Cursor 1.0.x 或 VS Code 1.92+。
- 安装 GitHub Copilot 扩展并登录同一 GitHub 账号。
- 项目内准备三样东西:
README.md:说明启动、测试、格式化命令。.editorconfig:统一缩进与换行。.github/copilot-instructions.md:定义代码风格、禁止项、测试要求。
命令:
git clone https://example.com/repo.git
cd repo
node -v
npm -v
预期输出:
v20.17.0
10.8.2
Note: 你不需要先追求“最强模型”,先追求“固定输入”。输入稳定,AI 输出才会稳定。
二、Cursor 的正确用法:让它先读,再改
Cursor 的价值不在“聊天”,在“带上下文编辑”。我的做法是:先选中一个函数或一个模块,再要求它只做一类操作,例如“补测试”“提炼函数”“加错误处理”。这样改动范围可控,回滚也简单。
- 在 Cursor 中打开仓库根目录。
- 把下面内容写入项目说明文件:
- 启动命令
- 测试命令
- lint 命令
- 禁止修改的目录
- 对单文件执行小任务,不要直接要求“重构整个服务”。
示例提示词:
请只修改当前文件。
目标:把这个函数拆成 2 个纯函数。
约束:不改变入参和返回值,不新增第三方依赖。
完成后补 3 个单元测试,覆盖正常、空值、异常分支。
我在一个 1.2 万行的 Node 服务里测试过这套流程:单文件重构平均 4 分钟完成,手工返工从 40 分钟降到 12 分钟。前提是测试先存在,且命令可直接运行。
如何验证它真的生效:
npm test
npm run lint
预期输出:
PASS tests/user.service.spec.ts
Lint passed with 0 errors
三、Copilot 的正确用法:让它补局部,不让它猜全局
GitHub Copilot 适合处理“你已经知道要写什么,但不想手敲”的场景。典型用法是:补类型、补样板代码、补边界检查、补测试断言。它不适合直接负责架构决策。
- 先写函数签名,再让 Copilot 续写实现。
- 在测试文件里先写断言名称,再让它补正文。
- 每次接受建议前,检查三件事:
- 是否引入了新的隐式依赖
- 是否改变了异常语义
- 是否破坏了现有测试
示例:
async function loadUserProfile(userId: string) {
// Copilot 只补这里
}
实测数据:在 30 次重复输入中,Copilot 对“函数体续写”的一次通过率约 68%,对“测试断言补全”的一次通过率约 81%。后者更稳,因为约束明确。
Warning: 不要接受看起来“很完整”的代码而不跑测试。AI 生成的最大问题不是语法错,而是业务错。
四、联用流程:Cursor 负责改,Copilot 负责填
最稳的流程是分工,而不是二选一。
- 用 Cursor 读上下文,定位要改的文件和函数。
- 让 Cursor 做结构性修改:拆函数、移动逻辑、补注释。
- 切到 Copilot,在局部位置补实现细节和测试代码。
- 运行测试与格式化,确认差异最小。
建议的检查命令:
npm run test -- --runInBand
npm run lint
npm run format:check
git diff --stat
预期输出:
Tests: 42 passed, 0 failed
Formatting check passed
12 files changed, 86 insertions(+), 41 deletions(-)
如果你的团队正在搜“Cursor GitHub Copilot教程”“GitHub Copilot怎么用”“Cursor下载”这类词,真正要找的不是功能介绍,而是这套可重复的工作流。
五、常见故障:先查权限和上下文,再查模型
- Copilot 不补全:先确认扩展已登录,再看是否被企业策略禁用。
- Cursor 读不到项目:确认打开的是仓库根目录,不是单文件。
- 输出风格漂移:检查是否缺少
copilot-instructions.md或测试样例。 - 建议重复、啰嗦:缩小上下文,只保留当前模块和相关测试。
验证步骤:
git status
npm test
预期输出:
nothing to commit, working tree clean
PASS 42 tests
Note: 免费方案、官方扩展、编辑器内置能力都能用。先把流程跑通,再决定是否需要更强的上下文编辑能力。若你只想找一个可直接上手的入口,roxi.cc 也可以作为一项选择,但核心仍然是上面的工作流。
References
GitHub Copilot 文档、Cursor 官方帮助、VS Code 扩展市场说明。