聊天概述
Visual Studio Code 中的聊天功能使您能够使用自然语言进行人工智能驱动的编码辅助。通过对话式界面,提出关于代码的问题,获得理解复杂逻辑的帮助,生成新功能,修复漏洞,等等。本文概述了聊天表面,如何配置聊天会话,添加上下文,撰写有效提示,并回顾AI生成的更改。
前提条件
- 访问GitHub Copilot。如果您没有订阅,可以通过注册Copilot免费计划免费使用Copilot。
VS Code 中的聊天访问
VS Code 提供了多种方式来启动 AI 聊天对话,每种方式都针对不同的工作流程进行了优化。请使用VS Code标题栏中的聊天菜单或相应的快捷键。

| 表面 | 快捷键 | 最佳 | 了解更多 |
|---|---|---|---|
| 聊天视图 | ⌃⌘I (Windows,Linux Ctrl+Alt+I) | 多轮对话、智能工作流程、多文件编辑。也可作为编辑器标签页或独立窗口使用。 | 聊天环节 |
| 在线聊天 | ⌘I (Windows,Linux Ctrl+I) | 原地代码编辑和终端命令建议。 | 在线聊天 |
| 聊个简短的话 | ⇧⌥⌘L (Windows, Linux Ctrl+Shift+Alt+L) | 快速提问,但不离开当前视角。在编辑器顶部打开一个轻量级聊天面板。 | 快速聊聊 |
| 命令行 | 代码聊天 |
从VS Code之外开始聊天。 | CLI 文档 |
提交你的第一个提示
想了解聊天是如何运作的,试着创建一个基础应用:
-
通过按 ⌃⌘I(Windows,Linux Ctrl+Alt+I)或从 VS Code 标题栏选择聊天来打开聊天视图。
-
从代理人选择器中选择一名代理人。例如,选择Agent让聊天自动决定需要做什么并对工作区进行修改。了解更多关于内置代理的信息。
-
在聊天输入栏输入以下提示,并按回车提交:
Create a basic calculator app with HTML, CSS, and JavaScript代理会直接将更改应用到你的工作区,也可能运行终端命令,比如安装依赖或运行构建脚本。
-
在编辑器中,查看建议的更改,选择保留或舍弃。
想要完整的动手作,可以跟着客服教程作。
请求运行时发送消息
消息引导和排队是实验性功能。
你不必等回复完成后才发送下一封消息。请求进行中,请使用发送按钮的下拉菜单选择如何处理新消息:
- 添加到队列:当前响应完成后,消息会自动等待并发送。
- 用消息引导:当前请求会被发送,你的新消息会立即处理。
- 停止并发送:取消当前请求并立即发送新消息。

当你有多个待处理消息时,拖拽它们重新排序。了解更多关于在请求运行时发送消息的方法。
配置你的聊天会话
当你开始或调整聊天会话时,有三个选择决定了 AI 的响应方式:使用哪个代理、会话运行地点以及驱动它的语言模型。
选择跑向哪里
代理会话可以在不同环境中运行,以匹配你的工作流程。在聊天视图中的会话类型下拉菜单中选择会话类型。

| 会话类型 | 描述 |
|---|---|
| 地方 | 在你的机器上通过VS Code进行交互运行。最适合需要即时反馈的探索性任务。 |
| 背景 | 通过 CLI 在你的机器上自动运行。最适合你想在后台运行的明确任务。 |
| 克劳德 | 运行在远程基础设施上,并打开拉取请求。最适合团队协作和明确的任务。 |
| 第三方 | 使用外部供应商如Anthropic或OpenAI的代理。 |
你可以在对话中途将会话从一种类型切换到另一种类型,完整的对话历史也会被保留。了解更多关于经纪人类型和交接会谈的信息。
选择一位代理人
客服让聊天扮演不同的角色或角色,针对特定任务进行优化。在聊天视图的代理下拉菜单中选择一位代理。你可以在一次会话中随时切换代理。

VS Code 提供了三个内置代理:
- Agent:自主规划和实现跨文件的变更,运行终端命令,并调用工具。
- 计划:在编写任何代码前,制定结构化的逐步实施计划。当方案看起来合适时,将方案交给执行代理。
- Question:回答关于编码概念、代码库或VS代码本身的问题,无需修改文件。
对于更专业化的工作流程,可以创建自定义Agent,定义特定角色、可用工具和语言模型。
了解更多关于内置代理及其功能的信息。
选择语言模型
VS Code 提供不同的语言模型,每种模型针对不同任务进行了优化。有些模型专为快速编码任务设计,而另一些则擅长复杂的推理和规划。在聊天输入栏中的模型下拉菜单中选择最适合你需求的模型。

你也可以添加其他供应商的模特,并在聊天中使用。了解更多关于VS Code中的语言模型。
可用机型列表可能会根据你的Copilot订阅而有所不同,并且可能随着时间有所变化。有关可用语言模型的更多信息,请参见GitHub Copilot文档。
为你的提示添加背景
提供正确的背景信息有助于AI生成更相关、更准确的回答。
-
隐式上下文:VS Code 会自动包含当前文件、当前选择和文件名作为上下文。使用代理时,代理会自主决定是否需要额外的上下文。
-
#-提及输入聊天输入以明确引用文件(##file文件夹、符号、你的代码库(#codebase终端输出(#terminalSelection),或像这样的工具#fetch以及#githubRepo. -
@-提及: 类型以调用专门的聊天参与者,如@@vscode,@terminal,或者@workspace,每个都针对各自的定义域进行了优化。 -
愿景:附上图片,如截图或界面模型,作为提示语的上下文。
-
浏览器元素(实验):从集成浏览器中选择元素,为提示词添加HTML、CSS和截图上下文。
了解更多关于AI上下文管理的信息。
审查和管理变更
AI对你的文件做了修改后,请审核并接受或丢弃。
-
查看内联差别:打开修改过的文件查看应用更改的内联差别。使用编辑器覆盖层控制键在编辑和保留或撤销单个更改之间切换。更多信息请参见“审查AI生成的代码编辑”。
-
使用检查点:VS Code 可以在聊天互动的关键点自动创建文件快照,帮助你回滚到之前的状态。更多信息请参见检查点和编辑请求。
-
接受阶段:在源控视图中暂时进行修改,会自动接受所有待处理的编辑。丢弃更改也会丢弃待处理的编辑。

获得更好的回复
聊天提供了多种方式来提升人工智能响应的质量和相关性:
-
写出有效的提示:具体说明你的需求,引用相关文件和符号,并对常见任务使用命令。从提示示例中获得灵感,或查看完整的提示工程指南。
/ -
定制AI:通过添加自定义指令、创建可重复使用的提示文件,或为专业工作流程构建定制代理,定制AI的行为以适应你的项目。例如,创建一个“代码审查员”代理,提供关于代码质量和团队编码标准遵守情况的反馈。
-
通过工具扩展:连接MCP服务器或安装扩展,提供工具,使代理能够访问外部服务、数据库或API。
更多信息请参见“VS Code中的AI定制”。
排查聊天互动问题
使用聊天调试视图检查AI请求和响应的详细信息。视图显示系统提示、用户提示、发送给语言模型的上下文以及每次交互的工具调用。这有助于理解AI为何会以某种方式做出反应,或用于排查意外结果。