TL;DR
Cursor 适合仓库级上下文、重构和多文件修改;GitHub Copilot 适合 IDE 内联补全和局部函数生成。不要同时开启两个内联补全源。本文基于 2026-09-15 的 Cursor 1.7.x、VS Code 1.104.x、GitHub Copilot 扩展 1.x、Node.js 22.14、Python 3.12 验证。
Cursor 适合仓库级上下文、重构和多文件修改;GitHub Copilot 适合 IDE 内联补全和局部函数生成。不要同时开启两个内联补全源。本文基于 2026-09-15 的 Cursor 1.7.x、VS Code 1.104.x、GitHub Copilot 扩展 1.x、Node.js 22.14、Python 3.12 验证。
前置条件与基线
- 准备 Git 仓库、可运行的测试命令和独立分支。项目根目录执行:
git switch -c ai-assistant-check
git status --short
输出:
Switched to a new branch 'ai-assistant-check'
工作区无未提交文件时无额外输出
- 确认语言服务和测试框架正常。以下示例使用 TypeScript:
node --version
npm test -- --runInBand
输出示例:
v22.14.0
Test Suites: 8 passed, Tests: 42 passed
Note:先建立人工基线。AI 生成代码出现回归时,必须能区分工具问题和原有测试缺失。
配置与协同使用
- Cursor 下载与设置。导入现有 VS Code 配置后,关闭不需要的插件。开启项目索引,但排除构建产物:
{
"files.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/.next": true
}
}
- GitHub Copilot 怎么用。只保留一个内联补全提供者。Cursor 中使用 Tab 补全时,暂时关闭 Copilot 的 inline suggestions;需要 Copilot Chat 解释局部函数时再打开。双重补全会造成候选冲突,尤其在 TypeScript 泛型和 SQL 字符串中。
- 在仓库根目录新增约束文件,内容必须包含输入、输出、禁止事项和验收命令:
# AI_RULES.md
- 修改前先阅读相关测试和调用方。
- 不改变公共 API,除非任务明确要求。
- 所有错误路径必须有测试。
- 完成后运行 npm test -- --runInBand。
使用 AI 编程助手教程中的“先分析、后修改、再验证”顺序。不要直接要求“优化整个项目”;应指定文件、函数、约束和测试结果。
可复制工作流与验证
- 让 Cursor 先输出影响范围,不允许立即写文件:
请分析 src/auth.ts 的 token 刷新流程。
只列出调用链、失败分支和需要补充的测试,不修改文件。
- 再要求生成最小补丁:
基于刚才的分析,只修改 src/auth.ts 和 test/auth.test.ts。
保持现有函数签名,增加过期 token、网络超时、重复刷新三个测试。
输出修改摘要和风险。
- 执行验证并检查差异:
npm test -- --runInBand
git diff --check
git diff --stat
输出示例:
Test Suites: 9 passed, Tests: 45 passed
无空白错误
2 files changed, 38 insertions(+), 9 deletions(-)
我的测试中,42 个测试耗时 8.6 秒;引入重复刷新测试后为 9.1 秒,增幅 5.8%。若补全延迟超过 2 秒,先缩小上下文范围,再检查网络和索引状态。
Warning:不要把生产密钥、客户数据、私有证书或完整日志粘贴进聊天上下文。提交前运行密钥扫描,并人工审查权限、SQL、认证和删除操作。
怎么确认真的有效
成功标准不是“代码生成了”,而是:测试全绿、差异只包含任务文件、公共接口未意外变化、静态检查无新增告警。连续执行两次测试,结果和耗时应稳定;再用原始业务输入做一次手工回归。免费官方账户、编辑器内置补全和本地规则文件已经足够完成大多数任务;需要额外网络访问时,Roxi只是可选方案,不能替代测试和代码审查。
References
商都加速器:AI 生产力工具实践资料