Chat 模式与 Inline Edit 本节摘要:AI 编程工具通常提供两种「轻量级」交互:Chat(侧边栏对话)和 Inline Edit(原地编辑)。它们看似相似,实则定位完全不同——Chat 适合「讨论」(方案比较、原理解释、错误分析),Inline Edit 适合「执行」(选中代码,直接改)。用错模式会显著降低效率:该直接改的时候你去 Chat 讨论,多了一轮复制粘贴;该讨论的时候你用 Inline Edit,AI 没有足够空间解释方案。本节讲清两者的使用时机、操作方式和 @ 引用机制。 一、Chat 模式:你的技术顾问 定位 Chat 是一个「对话窗口」,AI 在这里回答问题、讨论方案、解释代码。它的输出是文本(可能包含代码块),不会直接修改你的文件。
本节摘要:AI 编程工具通常提供两种「轻量级」交互:Chat(侧边栏对话)和 Inline Edit(原地编辑)。它们看似相似,实则定位完全不同——Chat 适合「讨论」(方案比较、原理解释、错误分析),Inline Edit 适合「执行」(选中代码,直接改)。用错模式会显著降低效率:该直接改的时候你去 Chat 讨论,多了一轮复制粘贴;该讨论的时候你用 Inline Edit,AI 没有足够空间解释方案。本节讲清两者的使用时机、操作方式和 @ 引用机制。
Chat 是一个「对话窗口」,AI 在这里回答问题、讨论方案、解释代码。它的输出是文本(可能包含代码块),不会直接修改你的文件。
Chat 的质量取决于你喂给 AI 的上下文。各工具的引用语法略有不同,但核心逻辑一致:
Cursor 的 @ 引用:
@file — 引用特定文件(输入 @ 后搜索文件名)@folder — 引用整个目录@codebase — AI 自动搜索项目中相关代码@web — 搜索互联网(获取最新文档)@docs — 引用你预配置的文档源(如某个库的官方文档)Copilot Chat 的引用:
@workspace — 全项目搜索@file — 特定文件/explain — 解释选中代码/fix — 修复选中代码的问题/tests — 为选中代码生成测试💡 技巧:不确定该引用哪个文件时,先用
@codebase让 AI 自己搜。如果搜索结果不理想(引用了不相关文件),再切换为手动@file精准指定。
Inline Edit 是「选中代码 → 描述修改 → AI 原地生成 diff → 你确认应用」。它的输出直接修改文件,不需要复制粘贴。
| 工具 | 快捷键 | 操作 |
|---|---|---|
| Cursor | Cmd+K / Ctrl+K | 选中代码后按,弹出输入框 |
| Copilot | Ctrl+I | Inline Chat,类似 |
| Windsurf | Cmd+K / Ctrl+K | 同 Cursor |
⚠️ 注意:Inline Edit 的上下文默认只有「选中的代码 + 当前文件」。如果你的修改依赖其他文件的信息(比如要调用另一个模块的函数),需要在输入框中手动提及:「用 @file:src/utils/validator.ts 中的 validateEmail 函数」。
| 你想做的事 | 用 Chat | 用 Inline Edit |
|---|---|---|
| 讨论技术方案 | ✓ | |
| 解释一段代码 | ✓ | |
| 分析报错原因 | ✓ | |
| 修改选中代码 | ✓ | |
| 重构单个函数 | ✓ | |
| 加注释/类型 | ✓ | |
| 生成新文件 | ✓(光标定位) | |
| 跨多个文件修改 | (用 Composer) | |
| 需要 AI 跑命令验证 | (用 Agent) |
简化规则:
错误 1:在 Chat 里反复让 AI 输出完整代码再复制粘贴
错误 2:Inline Edit 时不给足够上下文
错误 3:Chat 对话太长,上下文溢出
错误 4:对 AI 的输出不审查就接受
当你需要修改的范围超出单个文件时,Inline Edit 就不够用了。下一节我们讲 Composer 和 Cascade 的多文件编辑机制。