开始在 VS Code 中使用聊天
Visual Studio Code 中的聊天功能允许您使用自然语言获得由 AI 驱动的编码辅助。通过对话界面,您可以询问有关代码的问题、获取理解复杂逻辑的帮助、生成新功能、修复 bug 等等。
在本篇文章中,您将学习如何访问 VS Code 中的不同聊天体验、提交第一个提示、编写有效的提示以获得更好的结果,以及为您的工作流程定制聊天。
在 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) 打开一个轻量级的聊天叠加层。
使用快速聊天进行
- 无需长时间对话的快速提问
- 无需更改当前视图即可获得答案
- 在保持工作专注的同时查找信息

您可以通过使用 code chat 命令直接从命令行启动聊天。有关更多信息,请参阅 VS Code 命令行文档。
提交您的第一个聊天提示
让我们从创建一个基本的计算器应用程序开始,以了解聊天在 VS Code 中的工作方式
-
按 ⌃⌘I (Windows, Linux Ctrl+Alt+I) 或从 VS Code 标题栏中选择“聊天”来打开“聊天”视图。
-
在代理选择器中选择“代理”。
在使用代理时,聊天会自动确定需要做什么,并对您的工作空间进行必要的更改。
-
在聊天输入字段中键入以下提示,然后按 Enter 提交
Create a basic calculator app with HTML, CSS, and JavaScript代理会直接对您的工作空间进行更改,并且可能还会运行终端命令,例如,安装依赖项或运行构建脚本。
-
在编辑器中,查看建议的更改并选择保留或放弃它们。
-
提出后续问题以增强应用程序。例如,您可以问
Add a dark mode toggle或
Style it with a modern design在您继续对话时,VS Code 会将聊天提示和响应的历史记录用作上下文。这种上下文使您能够与聊天进行多轮对话,以优化和改进结果。
使用语音输入与 VS Code 中的聊天进行交互。了解有关 使用语音输入进行聊天 的更多信息。
探索不同的语言模型
VS Code 提供不同的语言模型供您选择,每种模型都针对不同的任务进行了优化。有些模型专为快速编码任务设计,而另一些模型则擅长复杂的推理和规划。
要更改语言模型,请使用聊天输入字段中的模型选择器,并选择最适合您需求的模型。

您还可以添加来自其他模型提供商的模型并在聊天中使用它们。有关如何 使用来自其他提供商的模型 的更多详细信息。
可用模型的列表可能会因您的 Copilot 订阅而异,并可能随时间变化。有关 可用语言模型 的更多信息,请参阅 GitHub Copilot 文档。
在代理之间切换
代理允许聊天扮演不同的角色或个性,以针对特定任务进行优化。您可以在聊天会话期间随时在代理之间切换。
-
打开聊天视图(⌃⌘I (Windows、Linux 为 Ctrl+Alt+I))。
-
从代理选择器中选择所需的代理。

内置代理
VS Code 提供了四个内置代理:代理、计划、询问和编辑。对于更专业的工作流程,您还可以创建自己的 自定义代理。
代理
代理经过优化,可根据可能需要运行终端命令和工具的高级要求来处理复杂的编码任务。AI 自主运行,确定相关上下文和要编辑的文件,规划所需的工作,并进行迭代以解决出现的问题。
VS Code 直接在编辑器中应用代码更改,并且编辑器叠加控件允许您在建议的更改之间导航并进行审查。该代理可能调用多个 工具 来完成不同的任务。
您可以通过添加 MCP 服务器或安装贡献工具的扩展来 使用自定义工具定制聊天。
使用代理打开聊天: 稳定版 | Insiders 版
开始使用代理
计划
计划代理经过优化,用于为编码任务创建结构化的实现计划。当您想在实施之前将复杂的功能或更改分解为更小、更易于管理的步骤时,请使用计划代理。
计划代理会生成一份详细的计划,概述所需的步骤,并提出澄清性问题以确保全面理解任务。然后,您可以将计划移交给实现代理或将其用作指南。
使用计划代理打开聊天: 稳定版 | Insiders 版
开始使用计划代理
-
在聊天输入字段中键入一个高级提示。例如,您可以问
Update the application to support multi-language localization.或
Add a search feature to the application. -
在“聊天”视图的代理选择器中选择“计划”。
-
选择“发送”或按 Enter 提交您的提示。
-
根据需要回答任何澄清性问题或完善计划。
-
选择“开始实施”将计划移交给实现代理。
询问
询问经过优化,可用于回答有关您的代码库、编码和通用技术概念的问题。当您想了解某项功能的工作原理、探索想法或获得编码任务的帮助时,请使用询问。对于跨多个文件的较大更改或更复杂的编码任务,请考虑使用代理。
响应可能包含代码块,您可以单独应用于您的代码库。这对于在单个文件中进行较小的编辑非常有效。要将代码块应用于您的代码库,请将鼠标悬停在代码块上,然后选择“在编辑器中应用”按钮。
使用询问打开聊天: 稳定版 | Insiders 版
开始使用询问
-
在聊天输入字段中键入您的提示。例如,您可以问
Provide 3 ways to implement a search feature in React.或
Where is the db connection configured in this project? #codebase -
在“聊天”视图的代理选择器中选择“询问”。
-
您可以选择 向您的提示添加上下文 以获得更准确的响应。
-
选择“发送”或按 Enter 提交您的提示。
编辑
编辑经过优化,可在您的项目中的多个文件中进行代码编辑。当您对要进行的更改以及要编辑的文件有很好的了解时,编辑在编码任务中非常有用。
VS Code 会直接在编辑器中应用代码更改,您可以在那里进行审查。使用编辑器叠加控件通过 上 和 下 控件在编辑之间导航,并选择保留或撤销更改。
使用编辑打开聊天: 稳定版 | Insiders 版
开始使用编辑
-
在聊天输入字段中键入您的请求。例如,您可以问
Refactor the authentication logic to use OAuth2.或
Add unit tests for the user service. -
在“聊天”视图的代理选择器中选择“编辑”。
-
向您的提示添加上下文 以指导 AI 在正确的文件中进行编辑。
-
选择“发送”或按 Enter 提交您的提示。
-
使用叠加控件在编辑器中审查代码更改。
为您的工作流程定制聊天
通过添加上下文,您可以从聊天中获得更相关的响应。要进一步为聊天定制您的特定项目指南和开发实践,您可以通过多种方式在 VS Code 中定制聊天。
- 自定义指令:添加持久性指令,指导聊天在所有对话中的行为,例如编码标准、首选框架或架构指南。
- 提示文件:定义可重用的提示模板,您可以使用
/命令调用这些模板,以在团队之间标准化常用工作流程。 - 自定义代理:为不同的个性创建专门的自定义代理,这些代理针对特定的开发角色和任务(如代码审查、规划或文档)进行了定制。
- MCP 服务器:通过模型上下文协议集成外部工具和服务,扩展聊天的自定义功能。
编写有效的提示
为了从聊天中获得最佳结果,在编写提示时请牢记这些技巧
-
使用
#提及添加上下文:引用特定文件 (#file)、您的代码库 (#codebase) 或终端输出 (#terminalSelection)。在聊天输入字段中键入#以查看所有可用的上下文项。了解有关 向您的提示添加上下文 的更多信息。 -
使用
/命令:键入/以访问常用命令,如/new或/explain,或创建您自己的 自定义提示。 -
引用工具:键入
#后面跟一个工具名称,以扩展聊天功能。例如,#fetch用于检索 Web 内容,#githubRepo用于搜索 GitHub 存储库。了解有关 在聊天中添加和使用工具 的更多信息。
后续步骤
现在您已经了解了基本知识,可以探索更多聊天功能
其他资源
-
从涵盖常见任务(如理解代码库、生成代码、调试、使用笔记本等)的 聊天提示示例 中获取灵感。
-
阅读有关 GitHub Copilot 以及如何在 VS Code 中使用它的更多信息,请参阅 GitHub Copilot 文档。
-
请在 YouTube 上观看 VS Code Copilot 系列,在那里您可以找到更多入门内容以及针对使用 Copilot 与 Python、C#、Java、PowerShell、C++ 等语言相关的编程视频。