快速入門:使用 GitHub Copilot 代理模式

代理模式允許 GitHub Copilot 使用 Visual Studio Code 的 MSSQL 擴充功能中可用的工具。 當擴充功能安裝並啟用時,Copilot 可以列出 SQL Server 連線、連接伺服器與資料庫,並取得資料庫元資料。

所有動作都使用與 MSSQL 擴充功能相同的連線上下文與憑證。 代理模式不會引入額外的認證或權限變更。

Tip

使用 Agent Mode 時,你不需要明確引用 MSSQL 擴充檔@mssql()。 如果擴充功能是啟用的,其工具會自動可用。 如需詳細資訊,請參閱 代理程式模式工具

關於代理模式如何選擇與執行工具的詳細資訊,請參閱 Visual Studio Code 中關於代理模式的文件。

什麼是代理程式模式?

代理模式允許 GitHub Copilot 使用 MSSQL 擴充功能執行 SQL 相關操作,執行前需用戶確認。

你可以透過聊天變數如 #mssql_connect,或發出等效的自然語言請求來呼叫這些動作,例如:

Connect to my Library database using my LocalDev profile

GitHub Copilot 代理程式模式聊天介面的螢幕快照。

MSSQL 代理程式模式工具參考

本節提供 GitHub Copilot 代理程式模式中可用 SQL 特定工具的詳細參考。 MSSQL 延伸模組會提供這些工具,讓 GitHub Copilot 透過聊天變數或自然語言提示來執行動作。 執行之前,所有工具都需要用戶確認。

MSSQL 擴充功能在 Copilot 代理程式模式中提供之 SQL 特定工具列表的螢幕快照。

Tip

您也可以使用聊天變數,例如 #mssql_connect 直接叫用這些工具,或以自然語言撰寫提示,例如:

Connect to my development database

GitHub Copilot 會自動處理工具選取。

連線管理

工具名稱 Description
connect 透過儲存的連線設定檔或指定的伺服器與資料庫連接資料庫。
disconnect 結束目前的活躍連線會話。
change_database 變更現有連接會話的資料庫。
get_connection_details 取得特定 MSSQL 連線的連線詳細數據。
list_servers 列出您環境中所有儲存的 SQL Server 連線設定檔。
list_databases 列出連線 MSSQL 伺服器的所有可用資料庫。

Examples

請使用以下短語與 GitHub Copilot 互動。

- Connect to my LocalDev environment
- Disconnect from my current database
- List my available connection profiles
- List all databases in the localhost server
- Set the active connection to localhost
- Set AdventureWorks as the active database
- Get the connection string for AdventureWorks on localhost

使用代理程式工具連線至 GitHub Copilot 聊天中資料庫的範例螢幕快照。

聯機邏輯的運作方式

GitHub Copilot 代理程式模式支持彈性的方式,透過參考已儲存的配置檔或直接指定伺服器和資料庫,來連線到 SQL 資料庫。 連線邏輯是這樣運作的。

當你用已儲存的個人檔案連接時:

  1. 你透過參考已儲存的連線設定檔名稱來連接。
  2. GitHub Copilot 會使用 mssql_list_servers 工具來驗證設定檔是否存在的。
  3. 接著,工具 mssql_connect 會使用已儲存的 profileId 及其參數來建立連線。

當你透過指定伺服器和資料庫來連接時:

  • 如果儲存的設定檔符合指定的伺服器和資料庫:

    1. GitHub Copilot 會使用 mssql_list_servers 來尋找相符專案。
    2. 然後,它會使用完整設定檔來呼叫 mssql_connect
  • 如果已儲存的設定檔僅適用於伺服器:

    1. GitHub Copilot 會尋找相符的伺服器配置檔。
    2. 它會嘗試藉由將使用者要求的資料庫整合進入該配置檔來連線。
    3. 如果連線失敗,則會顯示錯誤。
  • 如果沒有任何檔案符合指定的伺服器:

    • GitHub Copilot 報告錯誤。

這個靈活的配對系統讓 GitHub Copilot 能處理多種連線情境。 它能減少使用者的負擔,同時確保操作安全且可確認。

資料架構探索

工具名稱 Description
show_schema 顯示已連線資料庫架構的高階圖表,包括數據表和關聯性。
list_schemas 列出連接 MSSQL 伺服器之資料庫中的所有架構。
list_tables 列出連接 MSSQL 伺服器之資料庫中的所有資料表。
list_views 列出已連線至 MSSQL 伺服器的資料庫中的所有視圖。
list_functions 列出連接 MSSQL 伺服器之資料庫中的所有函式。

Examples

請使用以下短語與 GitHub Copilot 互動。

- Show me the schema for this database
- Show me all tables in the current database
- List all views from this MSSQL database
- Give me a list of all the functions available in this schema
- What schemas are available in this database?

動畫的螢幕快照,其中顯示 Copilot 代理程式模式中的資料庫架構可視化檢視工具。

查詢執行

工具名稱 Description
run_query 對連接的資料庫執行 SQL 查詢。

Examples

請使用以下短語與 GitHub Copilot 互動。

- Give me the top five posts published this week
- Execute the current file to find how many comments each post has
- Get all categories along with the number of posts in each

使用代理程式工具來連線到資料庫並擷取數據的範例螢幕快照。

使用代理程式工具連線到資料庫並擷取數據的另一個範例螢幕快照。

如何在代理程式模式中管理工具

GitHub Copilot 在處理你的請求時,可以使用 MSSQL 專用工具及其他擴充功能貢獻的工具。 你可以在 代理 模式介面的工具選單下看到這些工具,並且可以開啟或關閉特定工具。

當你呼叫工具時,尤其是當它與你的機器或資料庫互動時,GitHub Copilot 會要求確認以確保執行安全。 你可以選擇只允許此工具在當前工作階段、工作區或永久使用。

欲了解更多工具可見性與核准資訊,請參閱「管理工具核准」。

代理程式模式確認工作流程

當 GitHub Copilot 選擇工具時,會跳出確認對話框,顯示所請求動作的詳細資訊。 您必須先明確核准要求,才能執行與電腦或資料庫互動的任何命令:

  • 允許此會話
  • 在此工作區中允許
  • 始終允許

此確認步驟有助於確保在開發環境中的安全、有意圖的互動。

Note

如需了解確認功能在代理模式下如何跨所有工具運作的詳細資訊,請參閱 Visual Studio Code 工具核准的說明文件