Web Analytics
Back
Featured image of post Visual Studio 2022 / 2026 GitHub Copilot 對話紀錄如何匯出/匯入 (備份與還原)

Visual Studio 2022 / 2026 GitHub Copilot 對話紀錄如何匯出/匯入 (備份與還原)

整理 GitHub Copilot Chat 對話紀錄的儲存位置、官方功能現況,以及實務上可行的備份還原做法

背景:為什麼要匯出/匯入 GitHub Copilot 對話紀錄?

在使用 Visual Studio 內建的 GitHub Copilot Chat 開發功能時,我們常常會針對一個複雜的需求,跟 Copilot 進行來回好幾十輪的對話:討論架構設計、除錯思路、修正方案,甚至請 Copilot 逐步解釋一段舊程式碼的邏輯。這些對話累積下來,其實就是一份非常有價值的「開發脈絡 (Context)」——

  • 裡面記錄了為什麼最後選擇了某個實作方式、放棄了哪些方案
  • 包含了除錯過程中的假設與驗證紀錄
  • 可以做為文件、教學或是團隊知識傳承的素材

但這份 Context 目前預設只存在單一專案、單一台機器上。一旦發生下列狀況,過去的對話紀錄就有可能無法存取或直接消失:

  • 搬移、重新命名專案資料夾,或是刪除 .vs 隱藏資料夾
  • 換到新電腦、重灌作業系統
  • 想把某個 Copilot Chat 的討論結果分享給團隊成員,或整理成文件保存
  • 想要在新專案繼續沿用之前討論出來的 Context,而不是從零開始問一次

因此,「如何匯出(備份)現有的 Copilot Chat 對話紀錄」、「如何在其他專案/電腦匯入(還原)」,就成為許多開發者在 Visual Studio Developer Community 上多次提出的需求。截至目前,這也是官方持續在強化的功能之一,並非一開始就有完整的「一鍵匯出/匯入」體驗,因此了解目前的現況與替代做法就很重要。

請補上截圖:一段有價值的 Copilot Chat 對話紀錄範例
請補上截圖:一段有價值的 Copilot Chat 對話紀錄範例

 

實作:目前可行的匯出/匯入(備份/還原)做法

1. 內建的「聊天記錄面板」(Chat History Panel)

從 Visual Studio 2022 17.14 / Visual Studio 2026 18.5 開始,Copilot Chat 視窗提供了正式的「聊天記錄面板」,取代了原本簡易的下拉選單:

  1. 開啟 檢視 (View) → GitHub Copilot Chat
  2. 在聊天視窗中選擇聊天記錄圖示,會列出目前方案底下所有的對話 Thread
  3. 每一筆紀錄會顯示:對話標題最後一則訊息預覽最後更新時間
  4. 點選任一筆紀錄即可切換回該次對話,繼續延續原本的 Context

請補上截圖:Copilot Chat 聊天記錄面板 (Chat History Panel)
請補上截圖:Copilot Chat 聊天記錄面板 (Chat History Panel)

要注意的是,這個面板只能讓你在「同一個方案/專案」內切換、回顧既有的對話,它本身不是跨專案、跨機器的匯出/匯入功能。對話紀錄實際上是跟著方案(Solution)走的。

2. 使用「Copy All」快速複製對話內容

如果只是想把某一次對話的內容保存成文字或 Markdown 檔案(例如寫成技術文件),可以:

  1. 在 Copilot Chat 視窗中,將滑鼠移到想要複製的訊息上
  2. 點選訊息右上角的複製圖示,或使用整個對話的 Copy All 功能
  3. 貼到 Markdown 編輯器、Notion 或任何文字編輯器中保存

請補上截圖:Copilot Chat 訊息旁的 Copy 按鈕
請補上截圖:Copilot Chat 訊息旁的 Copy 按鈕

依版本不同,早期的 Copy All 有可能只會複製「目前選取/可視範圍」的訊息,而非整段完整對話,這也是社群回報最多的痛點之一(可參考 Developer Community 上的多筆回報,例如 Add an option to export the entire GitHub Copilot chat conversationExport a conversation from Copilot chat 等票單)。這類「完整匯出對話」的需求已陸續被官方標記為 Fixed In: 18.8.0,代表較新版本的 Visual Studio 2026 已經逐步強化這部分的複製/匯出體驗,建議實際操作前先確認自己的 Visual Studio 版本,並在聊天視窗的選單或訊息右鍵選單中尋找是否已提供「匯出整個對話」的選項。

3. 手動備份/還原對話紀錄檔案(進階、非官方支援做法)

如果你需要在「搬移專案資料夾」或「更換電腦」時保留完整的 Copilot Chat 對話紀錄,目前沒有官方的匯出/匯入按鈕可以直接做到這件事。不過,社群回報(Developer Community 討論串)指出,對話紀錄實際上是以檔案的形式儲存在方案的隱藏資料夾中:

<專案資料夾>\.vs\<方案名稱>\copilot-chat\<Chat Thread ID>\sessions\<GUID 檔名,無副檔名>

這些檔案是內部使用的二進位格式(包含 Microsoft.VisualStudio.Copilot.* 相關的中繼資料、Markdown 格式的對話文字,以及程式碼變更的 XML 內容),並非公開文件化的格式,因此:

  • 備份:直接複製整個 .vs\<方案名稱>\copilot-chat 資料夾另存即可
  • 還原:將備份的 copilot-chat 資料夾複製回新專案(或新電腦)對應的 .vs\<方案名稱> 路徑下,重新開啟方案後,Copilot Chat 通常就能重新讀取到原本的對話 Thread

請補上截圖:.vs 資料夾底下的 copilot-chat 對話紀錄檔案結構
請補上截圖:.vs 資料夾底下的 copilot-chat 對話紀錄檔案結構

⚠️ 這個做法屬於「非官方支援」的權宜方式:.vs 資料夾一般會被 .gitignore 排除、不會被版本控制追蹤,而且此二進位格式未來版本可能會變更,因此不建議把這當作長期或跨版本的正式備份機制,僅適合短期救急使用。

4. 更推薦的長期做法:把重要 Context 轉存成 Repository 內的檔案

與其依賴不公開、可能隨版本改變的對話紀錄檔案,更建議把「值得保留的 Context」直接沉澱到專案儲存庫中,這樣不但可以被 Git 版本控制追蹤,也能被團隊成員與未來的 Copilot 對話重複使用:

  • 使用 /savePrompt Slash Command:在對話中打上 /savePrompt,即可將目前對話萃取成一份可重複使用的 Prompt,存成 .github/prompts/*.prompt.md
  • 使用 /generateInstructions Slash Command:讓 Copilot 分析目前專案的程式風格與慣例,自動產生 .github/copilot-instructions.md
  • 手動將重要的討論結論整理成 .github/copilot-instructions.md 或一般的 Markdown 文件,作為往後 Copilot Chat 的長期 Context 來源

請補上截圖:使用 /savePrompt 或 /generateInstructions 指令
請補上截圖:使用 /savePrompt 或 /generateInstructions 指令

 

結論/心得

目前(截至本文撰寫時)Visual Studio 2022 / 2026 的 GitHub Copilot Chat,在「對話紀錄的匯出/匯入(備份/還原)」這塊仍在持續補強中:

  • 官方提供的聊天記錄面板方便你在同一個方案內快速回顧、切換過去的對話,但無法跨專案、跨機器搬移
  • Copy All / 複製訊息可以應急保存單次對話內容,社群針對「完整匯出」的需求也持續反映中,較新版本已陸續改善
  • 若真的需要搬移整份對話紀錄,目前只能透過複製 .vs\copilot-chat 資料夾這種非官方支援的方式來達成,且格式為二進位、未公開文件化,使用上要有心理準備

以心得來說,與其把 Copilot Chat 的對話紀錄當作唯一的 Context 保存位置,不如養成習慣,把每次討論出來的重要結論、決策理由,主動整理進 .github/copilot-instructions.md.instructions.md.prompt.md 這類會被 Git 版本控制追蹤的檔案中。這樣即使哪天真的遺失了 Chat 對話紀錄,團隊累積的知識與 Context 也不會跟著不見,而且能讓每一位開發者、甚至未來的 Copilot 對話都能重複利用這些內容,反而比單純保留一份聊天記錄更有長期價值。

Built with Hugo   Theme Stack designed by Jimmy