在 VS Code 中使用聊天

Visual Studio Code 中的聊天功能讓您可以使用自然語言與 AI 代理互動。透過對話介面,您可以詢問有關程式碼的問題、取得理解複雜邏輯的協助、產生新功能、修正錯誤等。

本文說明如何與聊天互動的機制:如何送出要求、新增內容脈絡、選擇語言模型、撰寫有效的提示詞,以及檢閱 AI 產生的變更。這些機制適用於 VS Code 中的所有聊天介面。若要概覽代理的功能以及如何設定工作階段,請參閱 在 VS Code 中使用代理程式建置

VS Code 中的聊天方式

VS Code 為您提供兩個用於與代理互動的主要介面,以及用於快速互動的輕量級選項。您可以選擇最適合您目前任務與工作流程的體驗,並視需要進行切換。

名稱 說明 如何開啟
「代理程式」視窗 專門的、以代理為優先的視窗,用於在多個專案之間協調任務。專注於高層級的任務與成果。
  • 在 VS Code 標題列中選取 在代理中開啟 (Open in Agents)
  • 使用 Chat: Open Agents Window 命令
  • 執行 code --agents
對話檢視 在編輯器側邊欄中執行的以程式碼為優先的體驗,可協助您處理工作區中的編碼任務。
  • 選取 VS Code 標題列中的聊天圖示
  • 使用 Chat: Open Chat 命令
  • 按下 ⌃⌘I (Windows、Linux Ctrl+Alt+I)
內嵌聊天 快速、就地的程式碼編輯或終端機建議。
  • 按下 ⌘I (Windows、Linux Ctrl+I)
快速聊天 位於編輯器頂端的輕量級聊天面板。
  • 按下 ⇧⌥⌘L (Windows、Linux Ctrl+Shift+Alt+L)

送出聊天要求

在聊天輸入方塊中輸入您的訊息,然後按下 Enter 或選取 傳送 按鈕。代理會分析您的程式碼、進行變更,並以摘要回應。接著,您可以使用後續訊息繼續對話。例如,您可以從類似下列的要求開始

Add input validation to the signup form

若要提供額外的專案特定內容脈絡,您可以透過使用 # 提及參照檔案、符號或其他資訊來 將內容脈絡新增至您的提示詞

對於常見的任務,您可以使用斜線命令作為常用提示詞的快捷方式,或叫用 代理技能。在聊天輸入中輸入 / 即可查看所有可用的命令。

您可以並行執行多個工作階段,同時處理不同的任務。當您啟動新的工作階段時,先前的會話會繼續在背景中保持活動狀態,讓您可以隨時切換回該工作階段而不會遺失內容脈絡。在 管理聊天工作階段 中深入了解。

每個工作階段都有決定代理如何回應的組態選項,例如代理類型、代理、權限等級和語言模型。了解如何 設定您的代理工作階段

提示

為了獲得最佳結果,請明確指出您的需求、提供相關內容脈絡,並撰寫清楚的指示。如需詳細資訊,請參閱 取得更好的回應

在要求執行期間送出訊息

您不必等到回應完成即可傳送下一則訊息。當要求正在進行時,傳送 按鈕會變成下拉式選單,提供您三個處理新訊息的選項。

Screenshot of the Send button dropdown menu showing options to queue, steer, or stop and send a new message.

  • 加入佇列 (Add to Queue):您的訊息會等待,並在目前的回應完成後自動傳送。目前的回應會毫不受干擾地完成。
  • 使用訊息導向 (Steer with Message):發出信號,指示目前的要求在完成目前的工具執行後讓出控制權。目前的回應會停止,並立即處理您的新訊息。當代理走向錯誤方向時,請使用此選項來重新導向代理。
  • 停止並傳送 (Stop and Send):完全取消目前的要求,並立即傳送您的新訊息。

傳送 按鈕的預設動作是可以組態設定的。使用 chat.requestQueuing.defaultAction 在 VS Code 中開啟 在 VS Code Insiders 中開啟 將其設定為 steer(預設)或 queue

重新排序擱置中的訊息

當您有多個擱置中的訊息(已排隊或導向中)時,您可以透過拖放來變更其處理順序。當有多個相同類型的訊息擱置中時,將滑鼠停留在上方會顯示拖曳控點。

Screenshot of pending messages in the chat input box with drag handles to reorder them.

將內容脈絡新增至您的提示詞

提供正確的內容脈絡有助於 AI 產生更具關聯性且更準確的回應。

  • 隱含內容脈絡 (Implicit context):VS Code 會自動將使用中的檔案、您目前的選取範圍以及檔名納入內容脈絡中。當您使用 agents 時,agent 會自主決定是否需要額外的內容脈絡。

  • # 提及 (#-mentions):在聊天輸入中輸入 # 以明確參照檔案 (#file)、資料夾、符號、您的程式碼基底 (#codebase)、終端機輸出 (#terminalSelection) 或像是 #fetch 的工具。

  • 視覺 (Vision):附加圖片(例如螢幕擷取畫面或 UI 模型)作為提示詞的內容脈絡。

  • 瀏覽器元素 (Browser elements):從 整合式瀏覽器 中選取元素,以將 HTML、CSS 和螢幕擷取畫面內容脈絡新增至您的提示詞。

深入了解 管理 AI 的內容脈絡

啟用了 imageCarousel.chat.enabled 在 VS Code 中開啟 在 VS Code Insiders 中開啟 時,您可以在聊天回應中選取圖片或影片以開啟專屬的輪播檢視。來自工具結果(例如整合式瀏覽器、Playwright 或其他 MCP 伺服器)以及內嵌於助理訊息中的多媒體檔案,都可以從輪播中存取。

Screenshot showing the image carousel view with multiple images.

檢閱與管理變更

在 AI 對您的檔案進行變更之後,請進行檢閱並接受或捨棄它們。

  • 檢閱行內差異 (Review inline diffs):開啟已變更的檔案以查看所套用變更的行內差異。使用編輯器覆疊控制項在編輯之間導覽,並 保留 (Keep) 或 復原 (Undo) 個別變更。如需詳細資訊,請參閱 檢閱 AI 產生的程式碼編輯

  • 使用檢查點 (Use checkpoints):VS Code 可以在聊天互動期間的關鍵點自動建立檔案快照,讓您可以還原至先前的狀態。如需詳細資訊,請參閱 檢查點與編輯要求

  • 暫存以接受 (Stage to accept):在「原始檔控制」檢視中暫存您的變更會自動接受任何擱置中的編輯。捨棄變更也會捨棄擱置中的編輯。

Screenshot showing the Editor with proposed changes, highlighting the review controls in the editor overlay controls.

接收聊天回應的通知

當您在其他視窗或應用程式中工作時,VS Code 可以傳送作業系統 (OS) 通知給您,讓您了解重要的聊天事件,因此您不必一直切換回來檢查。

使用 chat.notifyWindowOnResponseReceived 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定何時在收到聊天回應時接收作業系統通知。通知包含回應的預覽,選取它會將焦點帶到聊天工作階段。

使用 chat.notifyWindowOnConfirmation 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定當代理需要您的輸入或確認才能繼續時,何時接收作業系統通知。

這兩項設定都有三個可能的值:

  • off:永不顯示通知
  • windowNotFocused(預設):僅在 VS Code 視窗未取得焦點時顯示通知
  • always:即使 VS Code 視窗取得焦點也顯示通知
提示

如果您想在 VS Code 的其他部分工作時隨時掌握聊天活動(例如在背景中執行長時間執行的代理任務時),請將值設為 always

顯示要求與完成的時間戳記

聊天可以顯示您傳送要求以及回應完成的時間戳記。將滑鼠停留在完成時間戳記上以查看經過的回應時間。

使用 chat.verbose 在 VS Code 中開啟 在 VS Code Insiders 中開啟 來啟用或停用這些時間戳記。

在聊天工作階段的提示詞之間導覽

使用下列鍵盤快速鍵在聊天工作階段的提示詞之間導覽:

  • ⌥⌘↑ (Windows、Linux Ctrl+Alt+Up):移至聊天工作階段中的上一個提示詞。
  • ⌥⌘↓ (Windows、Linux Ctrl+Alt+Down):移至聊天工作階段中的下一個提示詞。
  • ⌥⌘PageUp (Windows、Linux Ctrl+Alt+PageUp):移至聊天工作階段中的上一個程式碼區塊。
  • ⌥⌘PageDown (Windows、Linux Ctrl+Alt+PageDown):移至聊天工作階段中的下一個程式碼區塊。

取得更好的回應

聊天提供了幾種方法來改善 AI 回應的品質和關聯性:

  • 撰寫有效的提示詞 (Write effective prompts):明確指出您的需求、參照相關檔案和符號,並針對常見任務使用 / 命令。從 提示詞範例 中獲取靈感,或檢閱完整的 提示詞工程指南

  • 自訂 AI (Customize the AI):透過新增 自訂指示、建立可重複使用的 提示詞檔案,或建置適用於特殊工作流程的 自訂代理,來針對您的專案量身打造 AI 的行為。例如,建立一個「程式碼檢閱者」代理,針對程式碼品質與是否符合團隊編碼標準提供意見反應。

  • 使用工具擴充 (Extend with tools):連接 MCP 伺服器 或安裝提供工具的擴充功能,讓代理能夠存取外部服務、資料庫或 API。

如需詳細資訊,請參閱 在 VS Code 中自訂代理行為

針對聊天互動進行疑難排解

使用 代理記錄與聊天偵錯檢視 來檢查傳送提示詞時發生的情況。代理記錄會顯示工具呼叫、LLM 要求和提示詞檔案探索的按時間先後順序排列的事件記錄。聊天偵錯檢視則會顯示每次互動的原始系統提示詞、使用者提示詞、內容脈絡和工具酬載。這些工具對於了解 AI 為何以特定方式回應或針對非預期結果進行疑難排解非常有用。

支援

GitHub Copilot Chat 的支援由 GitHub 提供,您可以透過 https://support.github.com 與其聯繫。

若要深入了解 Copilot 的安全性、隱私權、合規性和透明度,請參閱 GitHub Copilot 信任中心常見問題集

English 한국어 中文(简体) 中文(繁體)
© . This website operates independently and is not affiliated with or endorsed by Microsoft. All brand names, logos, and trademarks are the property of their respective owners.