管理 AI 的情境

透過提供適當的內容,您可以在 VS Code 中從 AI 獲得更相關且更精確的回應。本文將說明如何在聊天中管理內容,包括如何使用「提及 #」來參考檔案、資料夾和符號,如何參考網路內容,或如何使用自訂指令來引導 AI 的回應。

如需了解內容是什麼以及 VS Code 如何組裝內容的背景資訊,請參閱內容概念

提及 #

您可以透過輸入#,然後接著您要提及的內容項目,明確地將內容新增到您的提示中。VS Code 支援不同類型的內容項目:檔案、資料夾、程式碼符號、工具、終端機輸出、原始碼控制變更等等。

在聊天輸入欄位中輸入#符號,即可查看可用內容項目的列表,或在聊天檢視中選取新增內容以開啟內容選擇器。

Screenshot of VS Code Chat view, showing the chat variable picker.

查看支援的內容項目完整列表。

將檔案新增為內容

依預設,VS Code 會使用工作區索引來根據對話自動將相關檔案納入內容。但是,您也可以使用「提及 #」或內容選擇器明確地將特定檔案、資料夾或符號新增為內容。當問題模稜兩可,或者也可以被視為關於編碼實踐的一般問題時,這會很有用,而且您想確保 AI 在回應中考慮程式碼庫的特定部分。

若要將特定檔案、資料夾或符號作為內容提供,請使用以下方法將其新增至聊天中

  • 在您的聊天訊息中透過輸入#,然後接著檔案、資料夾或符號的名稱,以「提及 #」方式提及該檔案、資料夾或符號。若要參考符號,請務必先在編輯器中開啟包含該符號的檔案。

  • 將檔案或資料夾從檔案總管檢視、搜尋檢視或編輯器索引標籤拖曳到聊天檢視中,以將其新增為內容。

  • 在聊天檢視中選取新增內容,然後從「快速選取」中選取檔案與資料夾符號

若要明確告知 AI 您想將整個程式碼庫作為內容使用,您可以在提示中新增#codebase

參考網路內容

您可以在聊天提示中參考網路內容,例如獲取最新的 API 參考資料或程式碼範例。

您可以在提示中直接包含 URL 以從該網頁獲取資訊,或使用#fetch工具表示您要從網路擷取內容。例如

  • 「最新 VS Code 版本有哪些亮點 #fetch」
  • 「將 asp.net 應用程式更新至 .net 9 #fetch https://learn.microsoft.com/en-us/aspnet/core/migration/80-90」

VS Code 會在有限的時間內快取網頁內容以提高效能。如果頁面內容發生變化,您可以透過重新啟動 VS Code 來強制重新整理。如果無法連線到頁面,快取將在短時間(約五分鐘)後過期。

VS Code 在存取外部 URL 之前會提示您確認,以保護您的隱私和安全性。深入了解如何設定 URL 自動核准

深入了解如何在聊天中新增和使用工具

提及 @

聊天參與者是專門的助理,讓您可以在聊天中提出特定領域的問題。您可以將聊天參與者想像成一位領域專家,您將聊天請求交給他,他會處理其餘部分。

聊天參與者與作為代理程式流程的一部分來貢獻和執行特定任務的工具不同。

您可以透過「提及 @」方式來叫用聊天參與者:輸入@,然後接著參與者名稱。VS Code 內建了@vscode@terminal等聊天參與者。它們經過最佳化,可以回答其各自領域的問題。

以下範例說明如何在您的聊天提示中使用「提及 @」

  • 「@vscode 如何啟用自動換行」
  • 「@terminal 目前目錄中最大的 5 個檔案是什麼」

在聊天輸入欄位中輸入@,即可查看可用聊天參與者的列表。

擴充功能也可以貢獻自己的聊天參與者

視覺功能 (預覽)

聊天支援視覺功能,這表示您可以將圖片作為內容附加到您的聊天提示中,並提出相關問題。例如,附加程式碼區塊的螢幕截圖並要求解釋,或附加 UI 草圖並要求代理程式實作。

提示

您可以將圖片從網頁瀏覽器拖曳到聊天檢視中,以將其新增為內容。

新增瀏覽器元素 (實驗性功能)

VS Code 內建了整合式瀏覽器,您可以使用它在 VS Code 內部預覽和互動網頁,例如對您的 Web 應用程式進行快速測試和偵錯。

您可以將瀏覽器視窗中的元素作為內容新增到您的聊天提示中。當您需要協助處理網頁的特定部分時,例如 HTML 元素、CSS 樣式或 JavaScript 程式碼,這會很有用。

若要將整合式瀏覽器中的元素新增到您的聊天提示中

  1. 啟動您的 Web 應用程式。

  2. 從命令選擇區執行瀏覽器:開啟整合式瀏覽器命令來開啟整合式瀏覽器。

  3. 輸入您想要互動的網頁 URL。

  4. 選取將元素新增至聊天按鈕。您現在可以將滑鼠游標懸停在網頁元素上,並選取它們以將其作為內容新增到您的聊天提示中。

您可以設定內容中包含哪些資訊

  • 附加 CSS: chat.sendElementsToChat.attachCSS 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定
  • 附加圖片: chat.sendElementsToChat.attachImages 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定

與瀏覽器頁面互動

注意

代理程式的瀏覽器工具目前為實驗性功能。

代理程式可以使用內建的瀏覽器工具,直接在整合式瀏覽器中讀取網頁並與其互動。這讓代理程式能夠導覽至 URL、讀取頁面內容和主控台錯誤、截圖、點擊元素、輸入文字等等,而無需外部 MCP 伺服器。

若要啟用瀏覽器工具,請將 workbench.browser.enableChatTools 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定為true

您也可以將已開啟的瀏覽器頁面與代理程式共用。選取瀏覽器工具列中的與代理程式共用按鈕,以讓代理程式存取您的頁面,包括您現有的工作階段和登入狀態。

例如,您可以要求代理程式開啟您的 Web 應用程式,檢查版面配置問題,或驗證功能是否正常運作。代理程式會開啟瀏覽器,與頁面互動,並回報其發現。

深入了解代理程式的瀏覽器工具

監控內容視窗使用情況

聊天輸入方塊會顯示一個內容視窗控制項,顯示模型內容視窗的使用量。此視覺指示器可協助您了解何時可能發生聊天摘要,或何時應啟動新工作階段。

Screenshot of VS Code Chat view, showing the context window usage control in the chat input box.

內容視窗控制項提供以下資訊

  • 視覺填充指示器:陰影條顯示目前使用的內容視窗比例
  • 總使用量和滑鼠懸停時的明細:將滑鼠懸停在控制項上,即可查看確切的權杖計數,以佔總可用內容的比例(例如,15K/128K),以及依類別劃分的使用明細。

當您在對話中傳送更多請求時,控制項會更新以反映不斷增加的內容使用量。總可用內容(分母)會根據您選擇的 AI 模型而變化,因為不同的模型具有不同的內容視窗大小。

提示

當內容視窗填滿時,VS Code 會自動精簡對話歷史記錄以釋放空間。

內容精簡

隨著對話的增長,累積的訊息和內容可能會填滿模型的內容視窗。內容精簡會將對話歷史記錄摘要以釋放空間,這樣您就可以在同一個工作階段中繼續工作而不會遺失重要細節。

自動精簡

當內容視窗填滿時,VS Code 會透過摘要早期訊息來自動精簡對話。這會在背景透明地發生,因此您可以不間斷地繼續聊天。

手動精簡

您也可以隨時手動觸發精簡,例如重新聚焦對話或減少早期交流中的雜訊。手動精簡適用於本機、背景和 Claude 代理程式工作階段。

若要手動精簡對話,請使用以下其中一種方法

  • 在聊天輸入欄位中輸入/compact。您可以選擇在命令之後新增自訂指令,以引導摘要的產生方式,例如/compact focus on the database schema decisions

  • 選取聊天輸入方塊中的內容視窗控制項,然後選取精簡對話

如果您想完全重設內容,請開始新的聊天工作階段

© . This site is unofficial and not affiliated with Microsoft.