管理聊天工作階段

在 Visual Studio Code 中使用聊天功能進行基於對話的 AI 互動。聊天工作階段由您與 AI 之間的提示和回覆序列,以及來自您的程式碼或檔案的任何相關內容所組成。本文說明如何建立和管理聊天工作階段、使用工作階段清單以及組織您的工作階段。

什麼是聊天工作階段?

聊天工作階段是與 AI 進行的單一對話,包含所有提示、回覆和內容。每個工作階段都是獨立的,因此一個工作階段的內容不會帶到另一個工作階段。

關於聊天工作階段的重點事項

  • 內容視窗:當您聊天時,工作階段會累積內容。建立新工作階段會清除歷史記錄並開啟新的內容視窗。您可以在聊天輸入框中監控內容視窗使用情況
  • 檢查點:您隨時可以回溯到先前的狀態,或編輯先前的提示來改變方向。深入了解檢查點
  • 代理程式類型:工作階段可以在本機、背景或雲端執行。深入了解代理程式類型
  • 多個工作階段:您可以同時執行多個工作階段,每個工作階段專注於不同的任務。使用工作階段清單監控進行中的工作階段並在其之間切換。
提示

當您想要更改主題以幫助 AI 提供更相關的回覆時,請開始新的聊天工作階段。

開始新的聊天工作階段

當您開始新的聊天工作階段時,您就開始了與 AI 的新對話。每個工作階段都有自己的內容視窗,並且可以使用不同的代理程式類型和權限等級執行。您可以同時執行多個工作階段,每個工作階段專注於不同的任務或主題。使用工作階段清單來監控和切換您的活動工作階段。

開始新的聊天工作階段

  1. 使用聊天檢視中的 新聊天 (+) 按鈕,或使用鍵盤快速鍵 ⌘N (Windows、Linux Ctrl+N)

    Screenshot of the New Chat button in the Chat view.

  2. 使用代理程式目標下拉式選單來選取您要執行代理程式的位置。例如,選取本機可在編輯器中以互動方式執行代理程式,並完全存取您的工作區、工具和模型。

  3. 代理程式 下拉式清單中選擇一個代理程式,以選擇工作階段的角色或人物。例如,選擇 規劃 讓代理程式在撰寫任何程式碼之前建立結構化的實作計畫。您可以在工作階段期間隨時切換代理程式。

  4. 您可以選擇從 權限 下拉式清單中選取權限等級,以控制代理程式對工具核准的自主權程度。

  5. 在聊天輸入框中輸入您的提示,然後按 Enter 提交。

代理程式概觀中深入了解代理程式目標、代理程式和權限等級。

在哪裡開啟聊天工作階段

您可以根據您的偏好以不同的檢視開啟聊天工作階段。

  • 側邊欄 (預設):選取 新增聊天 (+) > 新增聊天,或執行 聊天:新增聊天 命令。最適合在程式碼旁保持聊天可見。

    Screenshot of opening a new chat session in the Chat view in VS Code.

  • 編輯器索引標籤:選取 新增聊天 (+) > 新增聊天編輯器,或執行 聊天:新增聊天編輯器 命令。最適合為聊天提供更多空間或並排比較工作階段。

    Screenshot of opening a new chat session in an editor tab in VS Code.

  • 獨立視窗:選取 新增聊天 (+) > 新增聊天視窗,或執行 聊天:新增聊天視窗 命令。最適合多螢幕設定。

    Screenshot of opening a new chat session in a separate window in VS Code.

  • 最大化:選取聊天檢視標題列中的 最大化 按鈕,或執行 檢視:切換最大化面板 命令。聊天會佔據整個編輯器區域,提供最大的空間。再次選取該按鈕以恢復先前的佈局。

您可以隨時在不同檢視之間移動聊天工作階段。選取聊天檢視、編輯器索引標籤或聊天視窗中的 ... 選單,並選擇其中一個 移動聊天至... 選項。或者,使用命令選擇區中的對應 聊天:移動聊天 命令。

工作階段清單

聊天檢視提供您統一的檢視來管理所有工作階段,無論它們在哪裡執行。它會顯示您的工作階段,其中包含有關其狀態、類型和檔案變更的資訊。

使用尋找和篩選選項來尋找特定的工作階段。您也可以釘選重要的工作階段,將它們保留在清單頂部以便輕鬆存取。將滑鼠游標停留在工作階段上,然後選取圖釘圖示以釘選或取消釘選。

工作階段清單的範圍限定在您的工作區。如果您沒有開啟工作區,清單會顯示所有工作區中的所有工作階段。工作階段會依時間段分組,例如 今天上週

Screenshot of an agent session in VS Code showing code changes and chat interaction.

在清單中右鍵按一下工作階段,以查看其他動作,例如開啟工作階段詳細資料的不同選項、封存工作階段,或代理程式類型特定的動作,例如簽出提取請求 (適用於雲端代理程式工作階段)。

若要從聊天檢視中隱藏工作階段清單,請在空白聊天中按一下滑鼠右鍵並取消選取 顯示工作階段 ( chat.viewSessions.enabled Open in VS Code Open in VS Code Insiders )。

聊天檢視有兩種操作模式:精簡和並排。您可以使用聊天檢視右上角的切換控制項手動在精簡和並排模式之間切換。

  • 精簡:

    在精簡檢視中,工作階段清單嵌入在聊天檢視中。當您從清單中選取一個工作階段時,聊天檢視會切換到該工作階段。使用返回按鈕可回到工作階段清單。

    Screenshot of the Chat view in compact mode showing recent agent sessions.

  • 並排

    在並排檢視中,工作階段清單會與聊天檢視並排顯示。從清單中選取一個工作階段,可在聊天檢視中查看其詳細資訊。

    Screenshot of the Chat view in expanded mode showing full agent session history.

    當您將聊天檢視加寬時,它會自動切換到並排模式。在工作階段清單上按一下滑鼠右鍵並選取 工作階段方向 以變更此行為 ( chat.viewSessions.orientation Open in VS Code Open in VS Code Insiders )。您也可以使用切換按鈕。

注意

擴充功能開發人員可以學習如何使用建議的 API chatSessionsProvider 整合工作階段檢視。此 API 目前處於建議狀態,可能會變更。

工作階段狀態指示器 (實驗性)

工作階段狀態指示器提供直接從標題列中的命令中心快速存取您的工作階段。該指示器會顯示未讀訊息和進行中工作階段的視覺徽章,因此您無需切換檢視即可隨時了解 AI 活動。

Screenshot showing the session status indicator in the command center with unread and in-progress badges.

指示器會顯示

  • 未讀工作階段徽章:顯示帶有新訊息的聊天工作階段數量。選取徽章可篩選工作階段清單以僅顯示未讀工作階段。
  • 進行中工作階段徽章:顯示帶有執行中代理程式的工作階段數量。選取徽章可篩選工作階段清單以僅顯示進行中工作階段。
  • 閃亮圖示:提供快速存取聊天和工作階段管理選項。

您可以使用 chat.agentsControl.enabled Open in VS Code Open in VS Code Insiders 設定來配置狀態指示器的可見性。

在歡迎頁面查看工作階段

VS Code 歡迎頁面可以作為您開始使用聊天工作階段的體驗。它提供快速存取您最近的聊天工作階段、用於啟動新任務的嵌入式聊天小工具,以及常用任務的快速動作。

若要將 VS Code 歡迎頁面配置為您的啟動體驗,請將 workbench.startupEditor Open in VS Code Open in VS Code Insiders 設定為 agentSessionsWelcomePage

封存工作階段

為保持工作階段清單整齊,請封存已完成或不活動的工作階段。封存工作階段不會刪除它,而是將它從活動工作階段清單中移出。您可以隨時取消封存工作階段,將其恢復到活動工作階段清單。

若要封存工作階段,請將滑鼠游標停留在工作階段清單中的工作階段上方,然後選取 封存。封存工作階段後,它會從清單中消失。反之,您也可以以相同方式取消封存工作階段。

Screenshot of archiving an agent session in the sessions view.

若要查看您封存的工作階段,請使用工作階段清單中的篩選選項並選取 已封存 篩選器。

刪除工作階段

若要永久刪除工作階段,請在工作階段清單中右鍵按一下工作階段並選取 刪除。刪除工作階段會永久移除它且無法復原。對於 Copilot CLI 工作階段,刪除工作階段也會移除為該工作階段建立的任何相關工作樹。

注意

刪除工作階段是不可逆的。如果您只是想隱藏工作階段,請考慮封存它。

在請求執行期間傳送訊息

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

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

  • 加入佇列:您的訊息會等待,並在目前回應完成後自動傳送。目前回應會不中斷地完成。
  • 以訊息引導:指示目前的請求在完成目前的工具執行後讓出。目前的回應會停止,您的新訊息會立即處理。當代理程式方向錯誤時,請使用此選項來重新導向代理程式。
  • 停止並傳送:完全取消目前的請求並立即傳送您的新訊息。

傳送 按鈕的預設動作是可配置的。使用 chat.requestQueuing.defaultAction Open in VS Code Open in VS Code Insiders 將其設定為 steer (預設) 或 queue

重新排序待處理訊息

當您有多個待處理訊息 (佇列中或引導中) 時,您可以拖放它們以變更其處理順序。當有多個相同類型的訊息待處理時,將滑鼠游標停留在上方會出現拖曳控點。

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

分叉聊天工作階段

分叉聊天工作階段會建立一個新的獨立工作階段,它繼承原始工作階段的對話歷史記錄。分叉的工作階段與原始工作階段完全分離,因此一個工作階段的變更不會影響另一個。新的工作階段標題會以「分叉自:」為前綴,以幫助您識別它。

當您想要探索替代方法、提出一個旁枝問題,或將冗長的對話導向不同方向而不丟失原始上下文時,分叉功能非常有用。

分叉聊天工作階段有兩種方式

  • 分叉整個工作階段:在聊天輸入框中輸入 /fork 並按 Enter。一個新的工作階段會開啟,並複製目前工作階段的完整對話歷史記錄。

  • 從檢查點分叉:將滑鼠游標停留在對話中的聊天請求上,然後選取 分叉對話 按鈕。一個新的工作階段會開啟,其中僅包含直到並包括該檢查點的請求。

    Screenshot of the Fork Conversation button in the checkpoint toolbar in the Chat view.

取得聊天回覆通知

當您在另一個視窗或應用程式中工作時,VS Code 可以向您傳送作業系統通知,讓您了解重要的聊天事件,這樣您就不必一直回頭檢查。

使用 chat.notifyWindowOnResponseReceived Open in VS Code Open in VS Code Insiders 來配置當您收到聊天回應時何時接收作業系統通知。通知包含回應的預覽,選取它會將焦點帶到聊天工作階段。

使用 chat.notifyWindowOnConfirmation Open in VS Code Open in VS Code Insiders 來配置當代理程式需要您的輸入或確認才能繼續時何時接收作業系統通知。

這兩個設定有三個可能的值

  • off:永不顯示通知
  • windowNotFocused (預設):僅當 VS Code 視窗未聚焦時顯示通知
  • always:即使 VS Code 視窗已聚焦也顯示通知
提示

如果您希望在 VS Code 的其他部分工作時 (例如在背景執行長時間的代理程式任務時) 仍能了解聊天活動,請將值設定為 always

在聊天工作階段中導覽提示

使用以下鍵盤快速鍵在聊天工作階段中導覽提示

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

儲存及匯出聊天工作階段

您可以儲存聊天工作階段以保留重要對話,或稍後將其重複用於類似任務。

將聊天工作階段匯出為 JSON 檔案

您可以匯出聊天工作階段以供日後參考或與他人分享。匯出聊天工作階段會建立一個 JSON 檔案,其中包含該工作階段的所有提示和回應。

匯出聊天工作階段

  1. 在聊天檢視中開啟您要匯出的聊天工作階段。

  2. 從命令選擇區執行 聊天:匯出聊天... 命令 (⇧⌘P (Windows、Linux Ctrl+Shift+P))。

  3. 選擇儲存 JSON 檔案的位置。

將聊天工作階段儲存為可重複使用的提示

您可以將聊天工作階段儲存為可重複使用的提示,以便重複用於類似任務。

將聊天工作階段儲存為可重複使用的提示

  1. 在聊天檢視中開啟您要儲存的聊天工作階段。

  2. 在聊天輸入框中輸入 /savePrompt 並按 Enter

    該命令會建立一個 .prompt.md 檔案,這是一個可重複使用的提示檔案,它將您目前的聊天對話泛化為帶有佔位符的範本。您可以使用提示檔案在不同專案或程式碼庫中執行相同類型的任務。

  3. 根據需要檢閱和編輯產生的提示檔案,然後將其儲存到您的工作區。

將聊天訊息複製為 Markdown

聊天檢視支援將聊天訊息以 Markdown 格式複製到剪貼簿的不同選項,這些選項可透過右鍵按一下訊息或聊天背景時的內容功能表取得。

  • 複製:將單個提示或回應複製到剪貼簿 - Markdown 包含回應文字、思考步驟和工具呼叫。

  • 複製全部:以 Markdown 格式複製整個聊天工作階段,包括所有提示、回應、思考步驟和工具呼叫。

  • 複製最終回應:僅複製代理程式回應中最後一個工具呼叫之後的最終 Markdown 區段。這對於分享或重複使用最終輸出而無需中間步驟很有用。

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