VS Code 中的聊天模式
聊天模式是预定义的配置,可让您在 Visual Studio Code 中根据特定任务(例如提问、编辑代码或执行自主编码任务)调整 AI 聊天行为。您可以随时在“聊天”视图中切换聊天模式,具体取决于您想要完成的任务。
VS Code 提供了三种内置聊天模式:提问 (Ask)、编辑 (Edit) 和代理 (Agent)。您还可以针对特定场景(例如规划新功能或研究实现选项)定义自己的聊天模式。
先决条件
- 安装最新版本的 Visual Studio Code
- 访问 Copilot。Copilot 免费计划并获得每月补全和聊天交互的限制。
切换聊天模式
要切换聊天模式,请打开“聊天”视图 (⌃⌘I (Windows、Linux Ctrl+Alt+I)),然后从聊天模式下拉列表中选择所需的模式。
内置聊天模式
VS Code 中的聊天可以在不同的模式下运行,每种模式都针对特定的用例进行了优化。您可以随时在“聊天”视图中更改不同的聊天模式。
聊天模式 | 描述 |
---|---|
提问模式 (Ask mode) | 提问模式 (Ask mode) 经过优化,可用于回答有关您的代码库、编码和一般技术概念的问题。 使用提问模式来理解一段代码如何工作、集思广益软件设计思路或探索新技术。 在稳定版 (Stable) | 内测版 (Insiders) 中打开提问模式。 |
编辑模式 (Edit mode) | 编辑模式 (Edit mode) 经过优化,可用于对项目中的多个文件进行代码编辑。VS Code 会直接在编辑器中应用代码更改,您可以在原位查看这些更改。 当您对要进行的更改以及要编辑的文件有充分了解时,请使用编辑模式进行编码任务。 在稳定版 (Stable) | 内测版 (Insiders) 中打开编辑模式。 |
代理模式 | 代理模式 (Agent mode) 经过优化,可用于对项目中的多个文件进行自主编辑。 当您有一个不太明确的任务,并且可能还需要运行终端命令和工具时,请使用代理模式进行编码任务。 在稳定版 (Stable) | 内测版 (Insiders) 中打开代理模式。 |
自定义聊天模式
自定义聊天模式自 VS Code 1.101 版本起可用,目前处于预览阶段。
内置聊天模式为 VS Code 中的聊天提供了通用配置。为了获得更定制化的聊天体验,您可以创建自己的聊天模式。
自定义聊天模式包含一组指令和工具,当您切换到该模式时会应用它们。例如,“规划 (Plan)”聊天模式可以包含用于生成实现计划的指令,并且仅使用只读工具。通过创建自定义聊天模式,您可以快速切换到该特定配置,而无需每次手动选择相关工具和指令。
自定义聊天模式在 .chatmode.md
Markdown 文件中定义,可以存储在您的工作区中供他人使用,也可以存储在您的用户配置文件中,以便您在不同的工作区中重复使用它们。
您可以在自定义聊天模式文件中引用指令文件和工具(集)。
聊天模式文件结构
聊天模式文件是后缀为 .chatmode.md
的 Markdown 文件。它包含以下两个主要部分:
-
Front Matter 元数据头
description
:聊天模式的简要说明。此说明将显示为聊天输入字段中的占位符文本,并在您将鼠标悬停在聊天模式下拉列表中的模式上时显示。tools
:此聊天模式可用工具或工具集名称的列表。这可以包括内置工具、工具集、MCP 工具或扩展贡献的工具。使用配置工具 (Configure Tools) 操作从工作区中可用工具的列表中选择工具。model
:运行提示时使用的 AI 模型。如果未指定,则使用模型选择器中当前选定的模型。
-
包含聊天模式指令的正文
您可以在此处提供特定的提示、指南或您希望 AI 在此聊天模式下遵循的任何其他相关信息。您还可以通过使用 Markdown 链接引用指令文件。聊天模式指令将补充聊天提示中指定的任何内容。
聊天模式文件示例
以下代码片段显示了一个“规划 (Plan)”聊天模式文件的示例,该文件生成实现计划并且不进行任何代码编辑。
---
description: Generate an implementation plan for new features or refactoring existing code.
tools: ['codebase', 'fetch', 'findTestFiles', 'githubRepo', 'search', 'usages']
model: Claude Sonnet 4
---
# Planning mode instructions
You are in planning mode. Your task is to generate an implementation plan for a new feature or for refactoring existing code.
Don't make any code edits, just generate a plan.
The plan consists of a Markdown document that describes the implementation plan, including the following sections:
* Overview: A brief description of the feature or refactoring task.
* Requirements: A list of requirements for the feature or refactoring task.
* Implementation Steps: A detailed list of steps to implement the feature or refactoring task.
* Testing: A list of tests that need to be implemented to verify the feature or refactoring task.
创建聊天模式
您可以在您的工作区或用户配置文件中创建聊天模式文件。
-
在命令面板中运行聊天: 新建模式文件 (Chat: New Mode File) 命令 (⇧⌘P (Windows、Linux Ctrl+Shift+P))。
-
选择在您的工作区或用户配置文件中创建新的聊天模式文件。
-
输入聊天模式的名称。此名称将用于“聊天”视图中的聊天模式下拉列表。
-
在新创建的
.chatmode.md
文件中提供聊天模式的详细信息。- 在 Front Matter 元数据中提供说明并配置可用工具或工具集的列表。
- 在文件正文中添加聊天模式的说明。
默认情况下,VS Code 会在 .github/chatmodes
文件夹中查找工作区聊天模式文件。您可以使用 chat.modeFilesLocations 设置配置工作区聊天模式文件的位置。
管理现有聊天模式
要编辑和管理现有聊天模式,请在“聊天”视图中选择配置聊天 (Configure Chat) 按钮,选择模式 (Modes),然后从列表中选择一个现有聊天模式进行修改。或者,您可以使用命令面板中的聊天: 配置聊天模式 (Chat: Configure Chat Modes) 命令 (⇧⌘P (Windows、Linux Ctrl+Shift+P))。
将鼠标悬停在列表中的聊天模式上,然后从可用操作中选择:复制或移动、编辑名称或删除聊天模式。