在企業環境中管理擴充功能
Visual Studio Code 擴充功能可提升生產力,但在企業環境中需要妥善管理,以維持安全性與合規性。本文涵蓋 IT 管理員如何控制擴充功能安裝、託管私人市集,以及將擴充功能部署至使用者的電腦。
設定允許的擴充功能
允許的擴充功能支援功能從 VS Code 1.96 版本開始提供。
VS Code 支援透過 extensions.allowed 此設定可由您的組織管理。請聯絡您的管理員進行變更。 應用程式層級設定,來控制可以在使用者電腦上安裝哪些擴充功能。您可以依發行者、特定擴充功能、版本和平台有選擇性地允許擴充功能。預設會允許所有擴充功能。當您設定此項目時,只有列出的擴充功能可以安裝,未列出的擴充功能則會遭到封鎖。如果您封鎖已經安裝的擴充功能或版本,該擴充功能將會被停用。
依發行者允許或封鎖
使用發行者 ID 來允許或封鎖來自某個發行者的所有擴充功能。沒有句點 (.) 的鍵會被視為發行者 ID。
"extensions.allowed": {
"microsoft": true,
"github": true
}
使用 microsoft 作為發行者 ID,以指稱 Microsoft 發行的所有擴充功能,即使它們可能有不同的發行者 ID。
依擴充功能允許或封鎖
使用完整的擴充功能 ID (<publisher>.<extension>) 來允許或封鎖特定擴充功能。有句點的鍵會被視為擴充功能 ID。
"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會導致設定無效。 - 擴充功能或發行者 ID 不支援萬用字元,但允許使用
"*"來允許或封鎖所有擴充功能。例如,"*": false會封鎖所有擴充功能。
使用組織政策部署
組織可以使用 AllowedExtensions 政策來集中管理允許的擴充功能。透過裝置管理解決方案,管理員可以在所有受管理的裝置上部署並強制執行該政策。這會覆寫個別裝置上任何由使用者設定的 extensions.allowed 此設定可由您的組織管理。請聯絡您的管理員進行變更。 設定。

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