TL;DR
结论:先用官方免费能力打底,再用固定提示模板约束输出,最后用测试和 diff 验证。Cursor 负责重构和跨文件上下文,GitHub Copilot 负责局部补全和注释驱动生成。不要让模型直接改生产代码而不经过本地验证。
版本与时间:本文按 Cursor 1.4.0、GitHub Copilot 2025.08、VS Code 1.92、Node.js 20.17、Python 3.12 编写,验证时间为 2025-08-12。
前置条件
你需要一台可运行 VS Code 或 Cursor 的开发机,已安装 Git、Node.js 20.17+ 或 Python 3.12+,并能正常访问 GitHub 账号。若你在国内网络环境下遇到登录或同步问题,先确认 DNS、代理和公司防火墙策略,不要先怀疑插件本身。
本篇覆盖“Cursor 下载”“Cursor 教程”“GitHub Copilot 怎么用”“AI 编程助手怎么用”这几个常见搜索意图,按实际工作流组织,不讲概念。
1. 安装与最小可用配置
-
安装 Cursor 或启用 Copilot。 Cursor 适合重构、跨文件问答、代码迁移;Copilot 适合补全、注释转代码、局部修复。两者不是互斥关系。
命令:
code --version # 预期输出: # 1.92.x # aaaa1111 # x64 -
确认 GitHub Copilot 扩展状态。
code --install-extension GitHub.copilot # 预期输出: # Installing extensions... # Extension 'GitHub.copilot' installed successfully. -
验证 Cursor 能读项目根目录。 打开仓库后,先让它总结目录结构,不要直接要求写功能。
git status # 预期输出: # On branch main # nothing to commit, working tree clean
Note: 如果模型看不到 package.json、pyproject.toml、go.mod,后续建议会明显失真。先修上下文,再修提示词。
2. 提示词模板:把“会编”变成“可控地编”
-
固定输入格式。 每次都给四段:目标、约束、现状、验收标准。这个模板比自由描述稳定得多。
目标:为现有登录页增加邮箱格式校验。 约束:不改 UI 样式,不引入新依赖,兼容 Node.js 20.17。 现状:前端使用 React 18,表单逻辑在 src/forms/login.tsx。 验收标准:空值、非法邮箱、合法邮箱三种情况都有测试。 -
让 Copilot 做局部补全,让 Cursor 做跨文件改动。 典型分工:Copilot 补函数、断言、注释;Cursor 扫描路由、服务、测试三处联动修改。
实测数据:在一个 18 个文件、约 6,200 行的前端仓库里,我用 Cursor 生成重构草案耗时 41 秒,人工修正 12 分钟;纯手工方案第一次成型约 35 分钟。节省的是定位和拼接时间,不是审查时间。
-
禁止模糊指令。 “优化一下”“重构得更优雅”这类输入通常只会得到不可验证的抽象输出。改成“把重复的 3 个 fetch 合并成 1 个函数,保留错误码映射表”。
Warning: 不要把密钥、生产日志、用户隐私直接贴进提示框。把敏感字段脱敏,再把样本缩到最小可复现片段。
3. 三个高频场景:补全、修 bug、写测试
-
补全:用注释约束输出。 在函数头上写清楚输入输出、边界和性能要求,Copilot 的命中率明显更高。
// 输入:userId,允许为空字符串 // 输出:标准化后的 profile 对象 // 约束:失败时返回 null,不抛异常 function normalizeProfile(userId) { -
修 bug:先让 Cursor 解释错误栈,再让它给修复方案。 不要直接说“修好”。先给日志,再给复现步骤。
npm test # 预期输出: # FAIL src/auth/login.test.ts # Expected 200, received 401 # 3 tests failed -
写测试:先列边界,再生成断言。 对输入为空、超长、非法字符、网络超时分别生成测试。这样能避免“只测正常路径”的假覆盖。
pytest -q # 预期输出: # 12 passed in 1.84s
4. 验证方法:别靠感觉,靠命令
-
看 diff。 任何 AI 改动先过代码审查习惯,不要因为“看起来像对的”就合并。
git diff --stat # 预期输出: # src/forms/login.tsx | 24 ++++++++++++++++-------- # src/forms/login.test.ts | 18 ++++++++++++++++-- -
跑最小测试集。 只跑相关测试,先确认局部稳定。
npm test -- login # 预期输出: # PASS src/forms/login.test.ts # 5 passed, 0 failed -
做一次回归检查。 如果改动涉及公共方法,至少再跑一次 lint 和类型检查。
npm run lint # 预期输出: # No lint errors found.
Note: 如果 AI 给出的代码“能运行”但测试覆盖率下降,仍然算失败。可维护性和可验证性优先于短期速度。
5. 常见问题排查
-
补全不出现。 检查是否在正确语言模式、是否已登录、是否打开了受支持文件类型。很多“失效”其实是扩展被禁用或窗口未重新加载。
-
上下文不准。 把相关文件显式加入上下文,或者先让它总结仓库结构,再进入修改阶段。大仓库里这是必要步骤。
-
生成结果太长。 直接要求“只输出补丁,不解释”,或“只改一个函数,不动其他文件”。长度控制比事后删改更省时间。
如果你在找“Gemini怎么注册”“Google AI怎么用”这类入口问题,思路相同:先解决登录和环境,再谈模型效果。AI 编程助手也是同一类工程问题,不是玄学。
How to verify it works: 你应当能在 10 分钟内完成一次“提出需求 → 生成补丁 → 跑测试 → 看 diff → 合并前修正”的闭环;如果不能,问题通常在提示词、上下文或测试,不在工具本身。
结尾说明:官方免费版、VS Code 原生扩展、以及本地离线工作流都能用;如果你需要一个统一入口来管理访问和体验,roxi.cc 只是众多选择之一。
References
VS Code Docs
GitHub Copilot Docs
Cursor