現已釋出!閱讀關於 11 月新增功能和修復的內容。

透過 AI + 遠端開發提高生產力

2025年5月27日,作者:Brigit MurtaughChristof MartiJosh SpicerOlivia Guzzardo McVicker

VS Code 如此靈活強大的一個特性就是遠端開發。無論是從本地桌面連線到安全的虛擬機器,還是從平板電腦連線到功能強大的計算機,亦或是連線到包含專案所需所有依賴項的容器化環境——VS Code 的“隨時隨地開發任何內容”的能力幾乎可以滿足任何設定的需求。

現在,將這些能力與 VS Code 中 AI 的靈活性和強大功能相結合,您將獲得一個功能極其強大的開發環境。您可以確保聊天對話包含遠端工作區的上下文資訊,獲得 AI 在設定和除錯遠端連線方面的幫助,併為代理模式提供一個更隔離的空間來自主工作。

在本部落格中,我們將探討如何增強您現有的遠端設定,使其能夠與 AI “完美協作”,並介紹一些更定製化的 AI + 遠端工作流,包括自定義指令、聊天參與者和代理自動批准。

什麼是遠端開發?

當我們描述 VS Code 遠端開發時,我們指的是五個主要體驗:

  • 遠端 - SSH - 透過 SSH 開啟遠端計算機/虛擬機器上的資料夾來連線到任何位置。
  • 開發容器 - 在容器內部(或掛載到容器中)使用單獨的工具鏈或基於容器的應用程式。
  • WSL - 在 Linux 子系統 (Windows Subsystem for Linux) 中獲得基於 Linux 的開發體驗。
  • 遠端 - Tunnels - 透過安全隧道連線到遠端計算機,無需配置 SSH。
  • GitHub Codespaces - 由您管理(但為您提供)的遠端環境。

Remote architecture

如何在遠端環境中使用 AI?

我們希望使 VS Code 中的 AI 編碼體驗儘可能無縫,無論您是在本地計算機上工作還是連線到遠端環境。如果您已經在本地使用 GitHub Copilot,我們將自動將其遠端安裝。GitHub Codespaces 也已配置好!

雖然在遠端環境中使用 AI 可以無縫進行,但還有一些額外的 AI 功能可以使您的遠端工作流更加強大:

  • 自定義指令 - 為您的遠端環境定製 AI 體驗
  • 聊天參與者 - 使用聊天來設定和排查您的遠端環境
  • 工具批准 - 在遠端環境中安全地執行自主編碼會話

為您的遠端環境定製 AI 體驗

當用戶使用大型語言模型 (LLM) 時,我們收到的最常請求之一是:我如何能更好地幫助 LLM 理解我的程式碼和編碼實踐?您可以透過 **自定義指令** 來實現這一點,它描述了通用指南或規則,以獲得與您的特定編碼實踐和技術棧相匹配的響應。無需在每次 AI 聊天查詢中手動包含此上下文,自定義指令會在每次聊天請求中自動包含此資訊(可在我們最近的部落格文章中瞭解更多)。

在我們團隊最近的自我託管實踐中,我們發現使用自定義指令不僅可以告知 Copilot 我們的程式碼和編碼實踐,還可以提供有關我們連線的遠端環境型別的更多資訊,例如:

  • 這是什麼型別的遠端環境(例如,開發容器還是虛擬機器)?
  • 安裝了哪些語言或工具鏈?它們有什麼作用?
  • 工具鏈安裝在哪裡(例如,它們是否在 PATH 中可用)?

以下是我們團隊發現有用的一個指令示例:

This is a dev container that includes `python3` and `pip3` pre-installed and available on the `PATH`, along with the Python language extensions for Python development.

要開始在遠端環境中使用自定義指令,您可以使用與本地已經使用的相同的指令檔案

為您的開發容器配置 AI

開發容器透過預先配置所有工具和依賴項,使專案入門更加容易。透過新增自定義指令,您可以確保 LLM 針對該環境進行了定製,而不是提供通用答案。例如,用於 Python 編碼的開發容器可能包含關於已安裝工具或應遵循的編碼指南的自定義指令(如以上示例所示)。

我們的團隊已採取措施預配置自定義指令,以便在使用開發容器時進一步簡化您的工作。我們釋出開發容器資源(如映象和功能),以簡化建立和連線到開發容器的過程,並且我們現在在這些檔案中包含了自定義指令。以下是您如何使用我們團隊新增的自定義開發容器指令的一個示例:

  • 使用我們的一個映象或功能建立新的開發容器配置。您可以手動建立,或者透過Dev Containers 擴充套件提供的Dev Containers: Add Dev Container Configuration Files...命令來建立。

    Dev Containers: Add Dev Container Configuration Files command in VS Code Command Palette

  • 按照快速選擇中的步驟進行操作。在此示例中,我們將選擇 Python 模板。

    Select Python 3 dev container config in VS Code Command Palette

  • 在 VS Code 中構建並連線到您的開發容器。

    VS Code notification to reopen project in dev container

  • 您選擇並現已連線的環境基於我們的 Python 模板,該模板透過 Python 功能包含自定義指令。嘗試在您的開發容器中與 Copilot 聊天——Copilot 會自動從 Python 映象中提取自定義指令!

    AI chat using custom instructions

除了使用我們新增到映象和功能中的自定義指令外,您還可以將其他自定義指令新增到專案中的 devcontainer.json 檔案中——我們已經設法讓自定義指令能夠成功地與映象和模板合併。您可以使用 "github.copilot.chat.codeGeneration.instructions" 設定,就像我們在上面描述的 Python 開發容器配置中所做的那樣。

如果您釋出任何供他人使用的開發容器配置,我們建議您探索如何將自定義指令新增到其中!這裡是一個在 Python 開發容器功能中使用自定義指令的示例。

"github.copilot.chat.codeGeneration.instructions": [
    {
        "text": "This dev container includes `python3` and `pip3` pre-installed and available on the `PATH`, along with the Python language extensions for Python development."
    }
],

使用聊天來設定和排查您的遠端環境

聊天參與者 透過提供特定領域的知識來增強您的聊天體驗,例如如何與資料庫或特定 API 互動。在聊天輸入欄位中輸入 @ 來檢視並從可用參與者列表中進行選擇——他們將以“Ask”模式提供。有幾個內建的聊天參與者,如 @workspace@vscode@terminal。擴充套件也可以貢獻聊天參與者。

Remote - SSH 擴充套件包含一個 Copilot 聊天參與者。向 @remote-ssh 詢問有關配置或排查您的遠端環境的幫助。

Using Remote - SSH participant in VS Code chat panel

該參與者也瞭解常規的 SSH 和遠端開發主題。

Asking Remote - SSH participant about remote auth

如果發生連線失敗,使用 Copilot 診斷功能可以快速瞭解問題。

Diagnose with Copilot option in notification

Copilot 將調查問題並提供可操作的見解。

在遠端環境中安全地執行自主編碼會話

作為完成使用者提示任務的一部分,代理模式可以執行工具和終端命令。代理模式功能強大,因為它不僅可以建議程式碼更改,還可以執行終端命令和工具。例如,它可以安裝專案依賴項或執行測試。但是,其中一些操作可能具有破壞性,例如刪除檔案、修改本地配置等。因此,您需要批准在代理模式下使用工具和終端命令。

Agent mode tool approval options dropdown

如果您想自動批准所有工具,現在可以使用實驗性的 chat.tools.autoApprove 設定。為了在無意中執行終端命令或工具呼叫時提供一定程度的保護,您可以選擇僅在開發容器或遠端計算機上設定此項,以防止影響您的本地開發機器。

Auto Approve tool setting in VS Code remote settings

這將自動批准所有工具,VS Code 在語言模型希望執行工具時不會要求確認。這可以透過賦予代理模式更多的自主權來節省時間,但請記住,啟用此設定後,您將無法取消模型可能採取的具有破壞性的操作。

請注意,作為本地機器一部分的遠端環境(如開發容器)或可以訪問您憑據的遠端環境,會帶來不同程度的風險。

下一步

我們對 VS Code 中遠端開發和 AI 的未來感到興奮。我們的月度釋出充滿了令人興奮的新功能,並且我們一直在展望未來,例如支援 Copilot Chat 在 Web 上vscode.devgithub.dev)。

祝您編碼愉快(智慧且遠端)!Brigit、Christof、Josh 和 Olivia

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