5. 对话式开发


侧边栏对话

Ctrl/Cmd + L 打开侧边栏的 AI Chat 面板,这是与 AI 进行深度对话的主要界面。

典型用法

这个项目的用户认证流程是怎么工作的?从登录请求到 token 颁发的完整链路帮我梳理一下。
分析一下 src/services/payment.ts 中的 processPayment 函数,有没有潜在的并发安全问题?

Chat 面板支持 Markdown 渲染,代码块会自带语法高亮和一键复制按钮。

文件级上下文

在 Chat 中使用 @ 符号可以精确指定上下文:

引用方式语法说明
引用文件@filename.ts将指定文件的完整内容加入上下文
引用文件夹@src/components/引用目录下所有文件
引用代码库@Codebase让 AI 搜索整个代码库
引用文档@Docs引用外部文档(需先配置)

示例

参考 @src/components/Button.tsx 的组件设计模式,帮我创建一个新的 Dropdown 组件

💡 提示:Cursor 2.0 之后,Agent 可以自动收集上下文,许多之前需要手动 @ 的场景现在 AI 会自行处理。但在需要精确控制上下文时,手动 @ 仍然有效。

多轮协作

Chat 支持多轮对话,AI 会记住当前会话的完整上下文:

用户:帮我设计一个缓存中间件
AI:(给出方案)
用户:加上 TTL 过期机制
AI:(在方案基础上添加 TTL)
用户:再加上 LRU 淘汰策略
AI:(继续完善方案)

多轮协作的最佳实践

  • 复杂任务分步推进,每步确认后再进入下一步
  • 如果 AI 的理解出现偏差,及时纠正而不是推倒重来
  • 保持单次对话的主题聚焦,不同主题开新对话

代码解释

选中一段代码后Ctrl/Cmd + I,代码会被代入到Chat中:

请解释以下代码的执行逻辑,特别是错误处理部分的设计意图:
[选中的代码会自动带入]

image-20260326181839176

会话管理

  • 新建会话:点击 Chat 面板顶部的 + 按钮
  • 切换会话:Chat 面板顶部的历史记录下拉
  • 清除上下文:长对话导致响应变慢时,开启新会话