VS Code 中的 AI 语言模型
Visual Studio Code 让您可以访问多个内置语言模型,每个模型都针对不同的任务进行了优化。您可以为聊天、内联建议和实用任务切换模型,也可以通过自带 API 密钥添加更多模型。
有关语言模型的工作原理、特性以及如何选择合适模型的背景信息,请参阅 语言模型概念。
更改聊天模型
使用聊天输入框中的语言模型选择器来更改聊天对话和代码编辑所使用的模型。

不同的模型有不同的优势。使用快速模型进行快速编辑和简单提问,使用推理模型进行复杂的重构、架构决策或多步任务。根据您所使用的 代理类型,可用的模型列表可能会有所不同。
您可以通过 使用您自己的语言模型 API 密钥 来进一步扩展可用模型列表。
如果您是 Copilot Business 或 Enterprise 用户,您的管理员需要在 GitHub.com 的 Copilot 策略设置 中选择加入 Editor Preview Features(编辑器预览功能),以开启某些模型。
配置思考深度
某些模型支持可配置的思考深度,它控制模型对每个请求进行推理的程度。有关思考和推理的背景信息,请参阅 思考与推理。
默认情况下,VS Code 会设置建议的思考深度级别并启用自适应推理,模型会根据每个请求的复杂度动态决定思考的程度。对于大多数使用场景,默认设置效果良好。
更高的思考深度会产生更多的思考令牌(tokens),从而增加 AI 点数 的消耗。仅在处理确实复杂的任务时才增加思考深度。了解更多关于 优化 AI 点数使用 的信息。
配置思考深度的方法
-
打开聊天输入框中的模型选择器,选择一个推理模型。
-
选择模型名称旁边出现的 > 箭头,打开 思考深度 子菜单。
注意非推理模型(例如 GPT-4.1 和 GPT-4o)不会显示思考深度子菜单。
-
选择一个深度级别。

模型选择器标签会更新以显示所选的深度级别,例如“Claude Sonnet 4.6 · High”。该深度级别会在同一模型的对话中保持一致。
github.copilot.chat.anthropic.thinking.effort 和 github.copilot.chat.responsesApiReasoningEffort 设置已被弃用。请直接通过语言模型选择器配置思考深度。
使用自动模型选择
通过自动模型选择,VS Code 会评估任务复杂度和实时模型可用性,将每个请求路由到最优模型。有关自动模型选择工作原理的背景信息,请参阅 自动模型选择。
要使用自动模型选择,请在聊天模型选择器中选择 Auto。您可以将鼠标悬停在聊天回复上,查看生成该回复所使用的模型。

管理语言模型
您可以使用语言模型编辑器查看所有可用模型,选择要在模型选择器中显示哪些模型,并通过添加内置提供商或扩展提供的模型提供商来添加更多模型。
要打开语言模型编辑器,请打开聊天视图中的模型选择器并选择 管理语言模型(齿轮图标),或者从命令面板运行 Chat: Manage Language Models 命令。语言模型编辑器默认会在编辑器区域上方以 模态叠加层 的形式打开。

编辑器会列出所有可用的模型,显示关键信息,如模型能力、上下文大小、计费详情和可见性状态。默认情况下,模型按提供商分组,但您也可以按可见性进行分组。
您可以使用以下选项搜索和筛选模型
- 使用搜索框进行文本搜索
- 提供商:
@provider:"OpenAI" - 能力:
@capability:tools,@capability:vision,@capability:agent - 可见性:
@visible:true/false
自定义模型选择器
您可以通过更改语言模型编辑器中模型的可见性状态,来自定义在模型选择器中显示哪些模型。您可以显示或隐藏任何提供商的模型。
将鼠标悬停在列表中的模型上,并选择眼睛图标,即可在模型选择器中显示或隐藏该模型。

固定收藏模型
固定模型,使其保持在模型选择器顶部的固定位置。固定模型会显示在专门的 已固定 部分,并且在使用其他模型时不会改变位置。
固定或取消固定模型的方法
-
打开聊天输入框中的模型选择器。
-
将鼠标悬停在模型上,选择固定图标,将其添加到 已固定 部分。
-
要取消固定,请在 已固定 部分将鼠标悬停在该模型上并选择取消固定图标。
使用您自己的语言模型密钥
如果您想使用内置模型中不可用的模型,或者想要控制模型托管方式,您可以自带语言模型 API 密钥 (BYOK),以使用其他提供商的模型或在本地运行模型。有关为何自带密钥以及需要考虑事项的背景信息,请参阅 自带语言模型密钥。
BYOK 模型无需登录 GitHub 账号,也无需 Copilot 套餐即可工作。即使您未登录,也可以使用 Chat: Manage Language Models 命令添加模型。这使您可以完全使用自己的模型体验 AI 聊天功能,包括使用 Ollama 等本地模型的完全离线场景。
某些功能仍需要 GitHub 账号:语义搜索、内联建议(代码补全)以及依赖嵌入(embeddings)的功能。BYOK 仅适用于聊天体验和实用任务。
VS Code 提供了多种添加更多语言模型的选项
| 选项 | 何时使用 | 开始使用 |
|---|---|---|
| 内置提供商 | 您需要的提供商已列出(Azure、Anthropic、Gemini、OpenAI 等) | 为已知提供商输入您的 API 密钥 |
| 自定义端点 (Insiders) | 您有一个支持 Chat Completions、Responses 或 Messages API 的自托管、企业或其他端点 | 将 VS Code 指向任何兼容的 URL |
| 扩展 | 市场扩展程序提供的模型,例如用于本地模型的 AI Toolkit | 安装扩展程序并按照其说明进行设置 |
您也可以使用这些模型来 覆盖 VS Code 中实用任务所使用的模型(例如标题生成和意图检测)。
如果您是 Copilot Business 或 Enterprise 用户,您的管理员可以在 GitHub.com 的 Copilot 策略设置 中禁用 在 VS Code 中使用自带语言模型密钥 策略。更多详情,请参阅 GitHub Copilot 文档。
添加内置提供商的模型
从一组可在 VS Code 中直接使用的通用提供商中进行选择。根据提供商的不同,您可能需要 API 密钥和其他配置细节(如端点 URL)。
配置内置提供商的语言模型的方法
-
通过选择语言模型选择器中的 管理语言模型(齿轮图标),或通过命令面板中的 Chat: Manage Language Models 命令打开语言模型编辑器。
-
选择 添加模型,然后从列表中选择一个模型提供商。

-
输入模型的组名称。这是在模型选择器和语言模型编辑器中显示的组标签。
如果需要,以后可以在语言模型编辑器中更改组名称。
-
输入提供商特定的详细信息,例如 API 密钥或端点 URL。
-
如果提供商需要额外配置,VS Code 会打开一个
chatLanguageModels.json文件,您可以在其中配置提供商和模型详细信息。有关配置属性的详细信息,请参阅 模型配置参考。以下示例显示了使用 Entra ID 身份验证的 Azure OpenAI 配置
[ { "name": "Azure", "vendor": "azure", "models": [ { "id": "<my-deployment-name>", "name": "GPT-5.5", "url": "https://<my-endpoint>.openai.azure.com", "toolCalling": true, "vision": true, "maxInputTokens": 200000, "maxOutputTokens": 64000 } ] } ] -
配置模型后,您现在可以从聊天中的模型选择器中选择它。
为了使模型在聊天中使用代理时可用,它必须支持工具调用(tool calling)。如果模型不支持工具调用,它将不会出现在模型选择器中。
添加自定义端点模型
它取代了已弃用的 OpenAI 兼容提供商,并支持更多 API 类型。 github.copilot.chat.customOAIModels 设置已被弃用。
自定义端点提供商让您可以连接任何兼容的 API 端点到 VS Code 聊天。它支持三种 API 类型,您可以按模型进行选择:Chat Completions、Responses 和 Messages。请确保模型支持该 API 类型。
使用自定义端点提供商添加模型的方法
-
通过选择语言模型选择器中的 管理语言模型(齿轮图标),或通过命令面板中的 Chat: Manage Language Models 命令打开语言模型编辑器。
-
选择 添加模型,然后从列表中选择 自定义端点。
-
输入模型的组名称。这是在模型选择器和语言模型编辑器中显示的组标签。
如果需要,以后可以在语言模型编辑器中更改组名称。
-
输入端点的显示名称和 API 密钥。
-
选择 API 类型:Chat Completions、Responses 或 Messages。确保模型支持此 API 类型。
-
VS Code 会打开一个
chatLanguageModels.json文件,您可以在其中配置模型详细信息。更新模型属性并保存文件。有关配置属性的详细信息,请参阅 模型配置参考。以下示例显示了 Anthropic 端点的 Messages API 配置
[ { "name": "Anthropic", "vendor": "customendpoint", "apiKey": "YOUR_API_KEY", "apiType": "messages", "models": [ { "id": "claude-sonnet-4-6", "name": "Claude Sonnet 4.6", "url": "https://api.anthropic.com/v1/messages", "toolCalling": true, "vision": true, "maxInputTokens": 200000, "maxOutputTokens": 64000 } ] } ] -
配置模型后,从聊天中的模型选择器中选择它。
提示如果添加的模型没有立即出现在模型选择器中,请重启 VS Code。
添加模型提供商扩展
您可以从 Visual Studio Marketplace 安装扩展程序,为 VS Code 添加语言模型提供商。这些扩展可以提供对额外的云托管或本地运行模型的访问权限。例如,Foundry Toolkit for VS Code 扩展提供了对 Foundry 的本地和云托管模型的访问。
添加模型提供商扩展的方法
-
打开扩展视图并搜索
@tag:language-models。 -
选择 安装 以安装扩展,例如 Foundry Toolkit for VS Code。
-
按照扩展的设置说明来配置模型访问权限。
-
扩展的模型会出现在聊天模型选择器和语言模型编辑器中。如果模型没有出现,请重新加载 VS Code。
更新模型提供商详细信息
更新之前配置的模型提供商详细信息的方法
-
在聊天视图中从语言模型选择器选择 管理语言模型(齿轮图标),或从命令面板运行 Chat: Manage Language Models 命令。
-
在语言模型编辑器中,选择您想要更新的模型提供商旁边的齿轮图标。

-
更新提供商详细信息,例如 API 密钥或端点 URL。
为其他功能配置模型
除了主要的聊天模型外,您还可以配置用于内联聊天、内联建议和后台实用任务的模型。
更改内联聊天模型
您可以为编辑器内联聊天配置默认语言模型。这使您可以在内联聊天中使用与聊天对话不同的模型。
要配置内联聊天的默认模型,请使用 inlineChat.defaultModel 设置。该设置列出了模型选择器中的所有可用模型。
如果您在内联聊天会话期间更改了模型,该选择会在会话期间保持。重新加载 VS Code 后,模型会重置为 inlineChat.defaultModel 设置中指定的值。
更改内联建议模型
更改编辑器中用于生成内联建议的语言模型的方法
-
从 VS Code 标题栏的聊天菜单中选择 Configure Inline Suggestions...(配置内联建议...)。
-
选择 Change Completions Model...(更改补全模型...),然后从列表中选择一个模型。
随着我们增加对更多模型的支持,可用于内联建议的模型可能会随时间演变。
更改实用任务模型
除了主要聊天模型外,VS Code 还在后台使用轻量级模型来执行实用任务,例如生成标题、创建提交信息和意图检测。默认情况下,这些任务使用 GitHub Copilot 提供的内置实用模型。您可以使用任何可用模型(包括 BYOK 和扩展提供的模型)来覆盖这些任务所使用的模型。
有两种针对实用任务模型的设置,取决于任务类型
- chat.utilityModel :覆盖用于通用实用流程的模型,例如生成标题和摘要、设置搜索以及 Git 查看。
- chat.utilitySmallModel :覆盖用于快速、轻量级实用流程的模型,例如提交信息、重命名建议、分支名称生成、提示分类和意图检测。建议为此设置使用快速且低成本的模型。
这两个设置的默认值均为 Default,即使用 GitHub Copilot 的内置实用模型。
如果您在未登录 GitHub 账号的情况下使用 BYOK 模型,内置实用模型将不可用。VS Code 会在聊天视图中显示通知,提示您配置实用模型。将 chat.utilityModel 和 chat.utilitySmallModel 设置为 BYOK 模型,以启用标题生成和提交信息创建等实用功能。
模型配置参考
添加 BYOK 模型时,您可以在 chatLanguageModels.json 文件中配置模型属性。配置分为两个级别:提供商级别和模型级别。
根据提供商的不同,某些提供商和模型属性可能是必需的,而其他属性则是可选的。例如,某些提供商仅需 API 密钥和端点 URL 即可自动发现可用模型,而另一些提供商则要求您为每个模型指定详细信息。
提供商级别的属性包括
| 属性 | 描述 |
|---|---|
vendor |
模型的提供商,例如 azure, openai, customendpoint |
|
UI 中显示的提供商显示名称(组名称)。 |
models |
(可选) 该提供商提供的模型配置数组。 |
models 数组中的每个模型支持以下属性
| 属性 | 描述 |
|---|---|
id |
发送到 API 的模型标识符。例如,对于 Foundry,这是部署名称。 |
|
模型选择器中显示的显示名称。 |
url |
模型的完整端点 URL。 |
apiType |
(可选) 按模型覆盖 API 类型(chat-completions, responses 或 messages)。默认为提供商级别的 apiType。 |
toolCalling |
如果模型支持工具调用,则设置为 true。 |
vision |
如果模型支持图像输入,则设置为 true。 |
maxInputTokens |
模型接受的最大输入令牌数。 |
maxOutputTokens |
模型生成的最大输出令牌数。 |
editTools |
(可选) 模型支持的编辑工具数组。如果未配置,编辑器会尝试多个编辑工具并选择最好的一个。可选值:find-replace, multi-find-replace, apply-patch, code-rewrite。 |
thinking |
(可选) 如果模型支持思考能力,则设置为 true。默认为 false。 |
streaming |
(可选) 如果模型支持流式传输响应,则设置为 true。默认为 true。 |
zeroDataRetentionEnabled |
(可选) 如果此端点启用了零数据保留 (ZDR),则设置为 true。启用后,通过 Responses API 发出的请求不会发送 previous_response_id。默认为 false。 |
supportsReasoningEffort |
(可选) 模型接受的推理深度级别数组(例如,["low", "medium", "high"])。设置后,模型选择器中会显示 思考深度 选择器。常见的级别有 minimal, low, medium, high。 |
reasoningEffortFormat |
(可选) 用于将推理深度转发给模型的正文形状。chat-completions 发送顶级 reasoning_effort 字符串。responses 发送嵌套的 reasoning.effort 对象。未设置时,格式遵循 URL。 |
requestHeaders |
(可选) 包含随此模型请求一起发送的额外 HTTP 标头的对象。某些保留的标头(禁止的、转发的和内部标头)是不允许的,如果存在将被忽略。 |
常见问题
如何为 Copilot Business 或 Copilot Enterprise 启用自带模型密钥?
如果您是 Copilot Business 或 Enterprise 用户,您的组织管理员必须在 GitHub.com 的 Copilot 策略设置 中启用 在 VS Code 中使用自带语言模型密钥 策略。启用策略后,您就可以像个人套餐用户一样使用自己的 API 密钥来添加模型。更多详情,请参阅 GitHub Copilot 文档。
我可以在 VS Code 中将本地托管的模型与 Copilot 一起使用吗?
您可以使用 自带模型密钥 (BYOK) 并使用支持连接到本地模型的模型提供商,在聊天中使用本地托管的模型。您有多种连接到本地模型的选项
- 使用支持本地模型的内置模型提供商
- 从 Visual Studio Marketplace 安装扩展程序,例如 AI Toolkit for VS Code with Foundry Local
本地托管的模型无需 GitHub 账号、无需 Copilot 套餐且无需互联网连接即可工作。要获得全套实用功能(标题生成、提交信息等),请将 chat.utilityModel 和 chat.utilitySmallModel 指向本地模型。
目前,您不能将本地模型连接到内联建议。VS Code 提供了一个扩展 API InlineCompletionItemProvider,允许扩展提供自定义补全提供商。您可以从我们的 内联补全示例 开始尝试。
某些功能需要 GitHub 账号和互联网连接:语义搜索、内联建议(代码补全)以及依赖嵌入的功能。这些功能通过 BYOK 模型不可用。
我可以在没有互联网连接的情况下使用本地模型吗?
是的,您可以完全离线使用本地模型。使用 Chat: Manage Language Models 命令添加本地模型提供商(如 Ollama),在聊天中选择该模型并开始使用。要同时启用标题生成和提交信息等实用功能,请将 chat.utilityModel 和 chat.utilitySmallModel 设置为本地模型。依赖 GitHub Copilot 服务的功能(如语义搜索、内联建议和嵌入)无法离线使用。
我可以在没有 Copilot 套餐的情况下使用本地模型吗?
是的,您可以在没有 Copilot 套餐且无需登录 GitHub 账号的情况下使用 BYOK 模型(包括本地模型)。使用 Chat: Manage Language Models 命令添加模型并在聊天中选择它即可。依赖 GitHub Copilot 服务的功能(如语义搜索、内联建议和嵌入)需要 Copilot 套餐。