在企業環境中管理擴充功能
Visual Studio Code 擴充功能可提升生產力,但在企業環境中需要謹慎管理,以維護安全與合規性。本文將介紹 IT 管理員如何控制擴充功能安裝、託管私人市集,並將擴充功能部署到使用者的機器上。
設定允許的擴充功能
從 VS Code 1.96 版本開始支援允許的擴充功能設定。
VS Code 支援透過 extensions.allowed 此設定由組織層級管理。請聯絡您的管理員進行變更。 應用程式全域設定,來控制使用者機器上可安裝哪些擴充功能。您可以依據發行者、特定擴充功能、版本與平台來選擇性允許擴充功能。預設情況下,所有擴充功能皆為允許。當您設定此選項後,僅有列表中的擴充功能可被安裝,未列出的則會被封鎖。如果您封鎖了已安裝的擴充功能或版本,該擴充功能將會被停用。
依據發行者允許或封鎖
使用發行者識別碼(publisher ID)來允許或封鎖該發行者的所有擴充功能。沒有包含句點 (.) 的鍵值會被視為發行者識別碼。
"extensions.allowed": {
"microsoft": true,
"github": true
}
使用 microsoft 作為發行者識別碼,即可涵蓋所有由 Microsoft 發行的擴充功能,即使它們可能有不同的發行者識別碼。
依據擴充功能允許或封鎖
使用完整的擴充功能識別碼 (<publisher>.<extension>) 來允許或封鎖特定的擴充功能。包含句點的鍵值會被視為擴充功能識別碼。
"extensions.allowed": {
"esbenp.prettier-vscode": true,
"ms-azuretools.vscode-containers": false
}
允許特定版本或平台
將擴充功能鎖定至一個或多個核准的版本。不支援版本範圍,因此您必須個別列出每個版本。若要進一步依平台限制,請在版本後方附加 @<platform>。
"extensions.allowed": {
"dbaeumer.vscode-eslint": ["3.0.0"],
"figma.figma-vscode-extension": ["3.0.0", "4.2.3", "4.1.2"],
"rust-lang.rust-analyzer": ["5.0.0@win32-x64", "5.0.0@darwin-x64"]
}
僅允許穩定版本
將值設為 "stable" 以允許擴充功能的所有穩定版本,或允許發行者的所有擴充功能,同時封鎖預先發行版本。
"extensions.allowed": {
"github.vscode-pull-request-github": "stable",
"redhat": "stable"
}
優先順序與規則
- 越明確的選擇器優先權越高。例如,
"microsoft": true與"microsoft.cplusplus": false的組合,允許所有 Microsoft 擴充功能,但封鎖 C++ 擴充功能。 - 不支援重複的鍵值。同時包含
"microsoft": true和"microsoft": false將導致設定無效。 - 擴充功能或發行者識別碼不支援萬用字元,僅支援使用
"*"來允許或封鎖所有擴充功能。例如,"*": false會封鎖所有擴充功能。
透過組織原則部署
組織可以使用 AllowedExtensions 原則集中管理允許的擴充功能。透過裝置管理解決方案,管理員可以在所有受管裝置上部署並強制執行此原則。這將會覆寫個別裝置上由使用者配置的 extensions.allowed 此設定由組織層級管理。請聯絡您的管理員進行變更。 設定。

如果原則值中存在語法錯誤,extensions.allowed 設定將不會生效。請檢查 VS Code 中的視窗記錄 (Window log) 以查看錯誤(按 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 並輸入 Show Window Log)。
預先安裝擴充功能
您可以將 VS Code 設定為預先安裝一組擴充功能(啟動引導/bootstrap)。此功能適用於您準備機器映像檔、虛擬機器或雲端工作站時,預先安裝 VS Code 並確保使用者能立即使用特定的擴充功能。
目前預先安裝擴充功能的支援僅限於 Windows。
請依照下列步驟進行擴充功能啟動引導:
-
在 VS Code 安裝目錄中建立
bootstrap\extensions資料夾。 -
下載您想要預先安裝之擴充功能的 VSIX 檔案,並將其放入
bootstrap\extensions資料夾中。 -
當使用者第一次啟動 VS Code 時,
bootstrap\extensions資料夾中的所有擴充功能都會在背景自動靜默安裝。
使用者仍然可以解除安裝預先安裝的擴充功能。在解除安裝後重新啟動 VS Code,並不會重新安裝該擴充功能。
託管私人擴充功能市集
私人市集使企業能夠在組織內部自行託管和發布擴充功能,以滿足安全與合規性要求。私人市集與 VS Code 擴充功能體驗整合,讓使用者能夠發現並自動更新私人擴充功能。
私人市集的主要功能
- 自行託管:在您自己的基礎設施(如 Azure 或 Kubernetes)上託管內部擴充功能,以保護智慧財產權。
- 上游同步:即使在網際網路連線受限的環境中,也能自動包含來自 Visual Studio Marketplace 的公開擴充功能。透過設定允許清單來允許或拒絕特定擴充功能。
- 重新託管:下載並託管公開擴充功能,以套用企業特定的驗證與安全標準,並支援離線(air-gapped)環境。查看 Microsoft 如何保護您的軟體供應鏈。
- 簡易部署:部署為無狀態的 Docker 容器,無需外部資料庫。
- 彈性儲存:使用任何檔案系統或 Azure Artifacts 來發布及管理擴充功能。
- 集中式發布:透過 Windows 和 macOS 的群組原則,將私人市集部署給您的團隊。
- 整合安裝與更新:直接從 VS Code 搜尋並安裝擴充功能,並自動更新至新版本。
- 跨平台支援:與 Windows、macOS 和 Linux 上的 VS Code 桌機版相容。
不支援從 VS Code Server 或 Web 版 VS Code 連線。
私人市集目前提供給 GitHub Enterprise 客戶使用。VS Code 使用者必須使用 GitHub Enterprise 或 Copilot Enterprise/Business 帳戶登入,才能存取私人市集。
開始使用部署與功能指南,其中包含部署說明、指令碼與開發環境設定。若有任何疑問或需要協助,請聯繫 私人市集支援中心。
相關資源
- 擴充功能市集 - 了解如何在 VS Code 中安裝與管理擴充功能。
- 擴充功能執行階段安全 - 了解 VS Code 中的擴充功能安全性。
- 企業原則 - 所有 VS Code 企業原則的參考文件。