VS Code 中的 AI 語言模型
Visual Studio Code 讓您能夠存取多個內建語言模型,每個模型都針對不同的任務進行了最佳化。您可以針對聊天、內嵌建議和公用程式任務切換模型,也可以透過自備 API 金鑰來新增更多模型。
若要了解語言模型運作方式、其特性以及如何選擇合適的模型,請參閱 語言模型概念。
變更聊天模型
使用聊天輸入欄位中的語言模型選擇器,即可變更聊天對話和程式碼編輯所使用的模型。

不同的模型各有其優勢。請使用快速模型進行快速編輯與簡單問題查詢,並使用推理模型處理複雜的重構、架構決策或多步驟任務。根據您所使用的 代理程式類型,可用模型的清單可能會有所不同。
您可以透過 使用您自己的語言模型 API 金鑰,進一步擴充可用模型的清單。
如果您是 Copilot Business 或 Enterprise 使用者,您的管理員需要在 GitHub.com 的 Copilot 原則設定中啟用 Editor Preview Features,以便為您的組織啟用特定模型。
設定思考強度 (Thinking effort)
部分模型支援可設定的思考強度,這能控制模型在處理每個請求時運用的推理程度。關於思考與推理的背景資訊,請參閱 思考與推理。
預設情況下,VS Code 會設定建議的強度等級並啟用自適應推理,模型會根據每個請求的複雜度動態決定思考程度。對於大多數使用情境,預設值已足夠良好。
較高的思考強度會產生更多的思考 Token,這會增加 AI 配額 (AI Credits) 的消耗。請僅在真正複雜的任務中提高思考強度。了解更多關於 最佳化 AI 配額使用量 的資訊。
若要設定思考強度
-
在聊天輸入欄位中開啟模型選擇器,並選擇一個推理模型。
-
選取模型名稱旁邊出現的 > 箭頭,以開啟 思考強度 (Thinking Effort) 子選單。
注意非推理模型(例如 GPT-4.1 和 GPT-4o)不會顯示思考強度子選單。
-
選擇一個強度等級。

模型選擇器標籤會更新以顯示所選的強度等級,例如「Claude Sonnet 4.6 · High」。該強度等級會針對同一模型在對話間保持設定。
github.copilot.chat.anthropic.thinking.effort 和 github.copilot.chat.responsesApiReasoningEffort 設定已棄用。請直接從語言模型選擇器設定思考強度。
使用自動模型選取
透過自動模型選取,VS Code 會評估任務複雜度和即時模型可用性,將每個請求導向至最佳模型。有關自動模型選取的背景資訊,請參閱 自動模型選取。
若要使用自動模型選取,請從聊天中的模型選擇器選取 Auto。您可以將滑鼠游標懸停在聊天回應上,查看產生回應所使用的模型。

管理語言模型
您可以使用語言模型編輯器來檢視所有可用模型、選擇要在模型選擇器中顯示的模型,並透過新增內建提供者或擴充功能提供的模型提供者來新增更多模型。
若要開啟語言模型編輯器,請在 Chat 檢視中開啟模型選擇器並選取 管理語言模型(齒輪圖示),或從指令選擇區執行 Chat: Manage Language Models 指令。語言模型編輯器預設會以 強制回應疊加層 (modal overlay) 形式在編輯器區域上方開啟。

編輯器會列出所有可用的模型,並顯示關鍵資訊,如模型功能、上下文大小、計費詳細資料和可見度狀態。預設情況下,模型會按提供者分組,但您也可以選擇按可見度分組。
您可以使用下列選項來搜尋和篩選模型:
- 使用搜尋方塊進行文字搜尋
- 提供者:
@provider:"OpenAI" - 功能:
@capability:tools,@capability:vision,@capability:agent - 可見度:
@visible:true/false
自訂模型選擇器
您可以透過變更語言模型編輯器中模型的可見度狀態,自訂模型選擇器中顯示的模型。您可以顯示或隱藏任何提供者的模型。
將滑鼠游標懸停在清單中的模型上,並選取眼睛圖示,即可在模型選擇器中顯示或隱藏該模型。

釘選最愛模型
釘選模型可使其固定在模型選擇器的頂部。釘選的模型會顯示在專屬的 已釘選 (Pinned) 區段中,當您使用其他模型時,它們也不會變動位置。
若要釘選或取消釘選模型
-
在聊天輸入欄位中開啟模型選擇器。
-
將滑鼠游標懸停在模型上,並選取釘選圖示,即可將其新增至 已釘選 區段。
-
若要取消釘選模型,請在 已釘選 區段中將滑鼠游標懸停在其上方,並選取取消釘選圖示。
使用您自己的語言模型金鑰
如果您想使用非內建的模型,或者想控制模型託管方式,您可以攜帶自己的語言模型 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 原則設定中停用 Bring Your Own Language Model Key in VS Code 原則。更多詳細資訊,請參閱 GitHub Copilot 文件。
新增內建提供者的模型
從一組可在 VS Code 中立即使用的常用提供者中進行選擇。根據提供者的不同,您可能需要 API 金鑰和其他設定詳細資料(例如端點 URL)。
若要設定來自內建提供者的語言模型
-
透過語言模型選擇器選取 管理語言模型(齒輪圖示),或從指令選擇區執行 Chat: Manage Language Models 指令,開啟語言模型編輯器。
-
選取 新增模型 (Add 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 指令,開啟語言模型編輯器。
-
選取 新增模型,然後從清單中選取 Custom Endpoint。
-
輸入模型的群組名稱。這是顯示在模型選擇器和語言模型編輯器中的分組標籤。
如有需要,您可以稍後在語言模型編輯器中變更群組名稱。
-
輸入該端點的顯示名稱與 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。
設定其他功能的模型
除了主要的聊天模型外,您還可以設定內嵌聊天 (inline chat)、內嵌建議和背景公用程式任務所使用的模型。
變更內嵌聊天的模型
您可以為編輯器內嵌聊天設定預設語言模型。這使您能夠為內嵌聊天使用與聊天對話不同的模型。
若要設定內嵌聊天的預設模型,請使用 inlineChat.defaultModel 設定。此設定會列出模型選擇器中的所有可用模型。
如果您在內嵌聊天工作階段期間變更模型,選擇會持續到該工作階段結束。當您重新載入 VS Code 後,模型將會重設為 inlineChat.defaultModel 設定中指定的值。
變更內嵌建議的模型
若要變更編輯器中用於產生內嵌建議的語言模型:
-
從 VS Code 標題列的 Chat 選單中選取 設定內嵌建議... (Configure Inline Suggestions...)。
-
選取 變更完成模型... (Change Completions Model...),然後從清單中選取一個模型。
隨著我們增加對更多模型的支援,內嵌建議的可用模型可能會隨時間演進。
變更公用程式任務的模型
除了主要的聊天模型外,VS Code 會在背景使用輕量級模型執行標題產生、建立提交訊息 (commit messages) 和偵測意圖等公用程式任務。預設情況下,這些任務會使用 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 |
name |
UI 中顯示的提供者顯示名稱(群組名稱)。 |
models |
(選用) 此提供者所提供的模型設定陣列。 |
models 陣列中的每個模型均支援下列屬性:
| 屬性 | 說明 |
|---|---|
id |
傳送至 API 的模型識別碼。例如,對於 Foundry,這是部署名稱。 |
name |
模型選擇器中顯示的顯示名稱。 |
url |
模型的完整端點 URL。 |
apiType |
(選用) 覆寫每個模型的 API 類型 (chat-completions, responses, 或 messages)。預設為提供者層級的 apiType。 |
toolCalling |
如果模型支援工具呼叫,請設定為 true。 |
vision |
如果模型支援影像輸入,請設定為 true。 |
maxInputTokens |
模型接受的最大輸入 Token 數量。 |
maxOutputTokens |
模型產生的最大輸出 Token 數量。 |
editTools |
(選用) 模型支援的編輯工具陣列。如果未設定,編輯器會嘗試多種編輯工具並選擇最佳的一種。可能的值:find-replace, multi-find-replace, apply-patch, code-rewrite。 |
thinking |
(選用) 如果模型支援思考能力,請設定為 true。預設為 false。 |
streaming |
(選用) 如果模型支援串流回應,請設定為 true。預設為 true。 |
zeroDataRetentionEnabled |
(選用) 如果此端點啟用了零資料保留 (Zero Data Retention, 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 原則設定中啟用 Bring Your Own Language Model Key in 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,讓擴充功能可以貢獻自訂的完成提供者。您可以從我們的 內嵌完成範例 (Inline Completions sample) 開始嘗試。
部分功能需要 GitHub 帳戶和網際網路連線:語意搜尋、內嵌建議(程式碼完成)以及依賴嵌入的功能。這些功能無法透過 BYOK 模型使用。
我可以在沒有網路連線的情況下使用本機模型嗎?
是的,您可以在完全離線的情況下使用本機模型。使用 Chat: Manage Language Models 指令新增 Ollama 等本機模型提供者,在聊天中選取該模型即可開始使用。若要同時啟用標題產生和提交訊息等公用程式功能,請將 chat.utilityModel 和 chat.utilitySmallModel 設定為指向本機模型。依賴 GitHub Copilot 服務的功能(如語意搜尋、內嵌建議和嵌入)無法離線使用。
我可以在沒有 Copilot 方案的情況下使用本機模型嗎?
是的,您可以在沒有 Copilot 方案且無需登入 GitHub 帳戶的情況下使用 BYOK 模型(包括本機模型)。透過 Chat: Manage Language Models 指令新增模型並在聊天中選取即可使用。依賴 GitHub Copilot 服務的功能(如語意搜尋、內嵌建議和嵌入)需要 Copilot 方案。