企業支援
Visual Studio Code 可用作各種規模的企業團隊的開發工具。作為 IT 管理員,您可以配置 VS Code 以在您的組織中實現一致性和相容性。
擴充套件的私有市場
私有市場使企業能夠在其組織內自託管和分發擴充套件,以滿足組織的安全和合規性要求。私有市場與 VS Code 擴充套件體驗無縫整合,為使用者提供私有擴充套件的輕鬆發現和自動更新。常見用例包括
- 私有託管內部擴充套件,以保護智慧財產權。
- 在網際網路連線受限的環境中,為開發人員提供訪問 Visual Studio Marketplace 中選定或所有擴充套件的許可權。
- 從外部源下載和重新託管擴充套件,以應用企業特定的驗證和安全標準。瞭解 Microsoft 如何保護您的軟體供應鏈。
主要功能
- 自託管:在您自己的基礎結構(如 Azure 或 Kubernetes)上託管內部和下載的擴充套件。
- 簡單部署:將私有市場部署為無狀態 Docker 容器,無需外部資料庫。
- 靈活儲存:使用任何檔案系統或 Azure Artifacts 釋出和管理擴充套件。
- 上游:選擇自動包含來自 Visual Studio Marketplace 的公共擴充套件。透過設定 允許列表 來允許或拒絕特定擴充套件。
- 重新託管:選擇下載和託管公共擴充套件,以增強安全性並支援沒有公共網際網路連線(氣隙)的環境。
- 集中推出:使用 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 版本 1.96 開始提供。
VS Code 中的 `extensions.allowed` 應用程式範圍設定使您可以控制可以在使用者裝置上安裝哪些擴充套件。如果未配置該設定,則允許所有擴充套件。如果配置了該設定,則阻止安裝未列出的所有擴充套件。如果您阻止了已安裝的擴充套件或版本,則該擴充套件將被停用。
要為您的組織集中管理允許的擴充套件,請使用您的裝置管理解決方案配置 `AllowedExtensions` 策略。此策略將覆蓋使用者裝置上的 `extensions.allowed` 設定。此策略的值是一個 JSON 字串,其中包含允許的擴充套件。
{
"github": true,
"microsoft": true
}
管理員可以使用本地組策略編輯器本地配置 `AllowedExtensions` 策略,方法如下。

如果策略值中存在語法錯誤,則不會應用 `extensions.allowed` 設定。您可以在 VS Code 的視窗日誌中檢查錯誤(按 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 並輸入顯示視窗日誌)。
允許的擴充套件設定值
`extensions.allowed` 設定包含一個擴充套件選擇器列表,這些選擇器決定哪些擴充套件被允許或阻止。您可以指定以下型別的擴充套件選擇器:
- 允許或阻止來自發布者的所有擴充套件
- 允許或阻止特定擴充套件
- 允許特定擴充套件版本
- 允許特定擴充套件版本和平臺
- 僅允許擴充套件的穩定版本
- 僅允許來自發布者的穩定擴充套件版本
以下 JSON 片段顯示了不同 `extensions.allowed` 設定值的示例。
"extensions.allowed": {
// Allow all extensions from the 'microsoft' publisher. If the key does not have a '.', it means it is a publisher ID.
"microsoft": true,
// Allow all extensions from the 'github' publisher
"github": true,
// Allow prettier extension
"esbenp.prettier-vscode": true,
// Do not allow container tools extension
"ms-azuretools.vscode-containers": false,
// Allow only version 3.0.0 of the eslint extension
"dbaeumer.vscode-eslint": ["3.0.0"],
// Allow multiple versions of the figma extension
"figma.figma-vscode-extension": ["3.0.0", "4.2.3", "4.1.2"],
// Allow version 5.0.0 of the rust extension on Windows and macOS
"rust-lang.rust-analyzer": ["5.0.0@win32-x64", "5.0.0@darwin-x64"],
// Allow only stable versions of the GitHub Pull Requests extension
"github.vscode-pull-request-github": "stable",
// Allow only stable versions from redhat publisher
"redhat": "stable",
}
按釋出者 ID 指定釋出者。如果鍵不包含句點 (.),則認為它是釋出者 ID。如果鍵包含句點,則認為它是擴充套件 ID。目前不支援使用萬用字元。
您可以使用 `microsoft` 作為釋出者 ID 來引用 Microsoft 釋出的所有擴充套件,即使它們可能具有不同的釋出者 ID。
不支援版本範圍。如果要允許擴充套件的多個版本,則必須單獨指定每個版本。要進一步按平臺限制版本,請使用 @ 符號指定平臺。例如,"rust-lang.rust-analyzer": ["5.0.0@win32-x64", "5.0.0@darwin-x64"]。
選擇器越具體,優先順序越高。例如,"microsoft": true 和 "microsoft.cplusplus": false 允許所有 Microsoft 擴充套件,但 C++ 擴充套件除外。
不支援重複的鍵值。例如,同時包含 "microsoft": true 和 "microsoft": false 會導致策略無效。
如果您想了解更多關於 VS Code 中的擴充套件,請參閱擴充套件文件。
配置 MCP 伺服器訪問
預設情況下,VS Code 允許開發人員向其環境新增任何 MCP 伺服器。組織可以限制開發人員在 VS Code 中允許使用的 MCP 伺服器。在他們的GitHub Copilot 設定中提供以下配置選項。
-
配置啟用執行 MCP 伺服器的源(控制 VS Code 設定 chat.mcp.access)。
- 全部:開發人員可以從任何源執行 MCP 伺服器。
- 登錄檔:開發人員只能從 MCP 登錄檔中執行 MCP 伺服器,其他 MCP 伺服器將被阻止執行。
- 無:MCP 伺服器支援被停用。
-
配置自定義 MCP 登錄檔 URL
當 VS Code 設定 chat.mcp.gallery.enabled 啟用時,開發人員可以在擴充套件檢視中檢視 MCP 伺服器列表。預設情況下,VS Code 從 GitHub MCP 登錄檔獲取 MCP 伺服器列表。組織可以配置自定義 MCP 登錄檔 URL 以從不同源獲取 MCP 伺服器列表。
在 GitHub Copilot 文件中瞭解如何配置 MCP 伺服器訪問。
配置自動更新
VS Code 設定 `update.mode` 控制 VS Code 在新版本釋出時是否自動更新。更新從 Microsoft 線上服務獲取。
該設定有以下選項:
none- 停用更新manual- 停用自動檢查更新,但使用者可以手動檢查更新start- 僅在 VS Code 啟動時檢查更新,停用自動檢查更新default- 啟用自動檢查更新,並定期在後臺執行
要為您的組織集中管理自動更新,請使用您的裝置管理解決方案配置 `UpdateMode` 策略。此策略將覆蓋使用者裝置上的 `update.mode` 設定。此策略的值是一個字串,其中包含更新模式。
配置遙測級別
VS Code 設定 telemetry.telemetryLevel 控制 VS Code 遙測、第一方擴充套件遙測和參與的第三方擴充套件遙測。一些第三方擴充套件可能不遵守此設定。詳細瞭解我們收集的資料。
all- 傳送使用資料、錯誤和崩潰報告error- 傳送常規錯誤遙測和崩潰報告crash- 傳送作業系統級別的崩潰報告off- 停用所有產品遙測
要為您的組織集中管理遙測,請使用您的裝置管理解決方案配置 `TelemetryLevel` 策略。此策略將覆蓋使用者裝置上的 `telemetry.telemetryLevel` 設定。此策略的值是一個字串,其中包含遙測級別。
集中管理 VS Code 設定
您可以透過裝置管理解決方案集中管理 VS Code 的特定功能,以確保它滿足您組織的需求。當您指定 VS Code 策略時,其值將覆蓋使用者裝置上相應的 VS Code 設定。

VS Code 目前提供策略來控制以下管理員控制的功能:
| 策略 | 描述 | VS Code 設定 | 可用版本 |
|---|---|---|---|
AllowedExtensions |
指定可以安裝哪些擴充套件。 | extensions.allowed |
1.96 |
UpdateMode |
啟用 VS Code 更新的自動安裝。 | update.mode |
1.67 |
TelemetryLevel |
指定遙測資料級別。 | telemetry.telemetryLevel |
1.99 |
EnableFeedback |
配置反饋機制(問題報告和調查)。 | telemetry.feedback.enabled |
1.99 |
ChatAgentMode |
啟用代理模式。 | chat.agent.enabled |
1.99 |
ChatAgentExtensionTools |
啟用使用第三方擴充套件貢獻的工具。 | chat.extensionTools.enabled |
1.99 |
ChatPromptFiles |
在聊天中啟用提示和指令檔案。 | chat.promptFiles |
1.99 - 1.105 |
ChatMCP |
啟用模型上下文協議 (MCP) 伺服器支援以及允許的源。 | chat.mcp.access |
1.99 |
ChatToolsAutoApprove |
為代理模式工具啟用全域性自動批准。 | chat.tools.global.autoApprove |
1.99 |
ChatToolsEligibleForAutoApproval |
控制哪些代理工具符合自動批准的條件。設定為 false 的工具始終需要使用者批准,無法自動批准。策略透過 JSON 物件配置,例如 {"runTask": false, "fetch": false}。 |
chat.tools.eligibleForAutoApproval |
1.107 |
CopilotReviewSelection |
為編輯器選擇啟用程式碼審查。 | github.copilot.chat.reviewSelection.enabled |
1.104 |
CopilotReviewAgent |
為拉取請求和已更改檔案啟用 Copilot 程式碼審查。 | github.copilot.chat.reviewAgent.enabled |
1.104 |
ChatToolsTerminalEnableAutoApprove |
為終端工具啟用基於規則的自動批准。 | chat.tools.terminal.autoApprove |
1.104 |
McpGalleryServiceUrl |
配置要連線的 MCP Gallery 服務 URL。 | chat.mcp.gallery.serviceUrl |
1.101 |
ExtensionGalleryServiceUrl |
配置要連線的市場服務 URL。 | extensions.gallery.serviceUrl |
1.99 |
Windows 上的組策略
VS Code 支援基於登錄檔的 Windows 組策略。從 VS Code 版本 1.69 開始,每個版本都附帶一個 policies 目錄,其中包含 ADMX 模板檔案,可以新增到以下路徑:C:\Windows\PolicyDefinitions。確保還將相應的 adml 檔案複製到 C:\Windows\PolicyDefinitions\<your-locale> 目錄。
可以透過下載相應的VS Code zip 存檔來找到 ADMX/ADML 檔案。
安裝策略定義後,管理員可以使用本地組策略編輯器管理策略值。
可以使用Microsoft Intune等產品大規模集中管理裝置策略。
策略可以在計算機級別和使用者級別設定。如果兩者都設定了,則計算機級別優先。設定策略值時,該值將覆蓋在任何級別(預設、使用者、工作區等)配置的 VS Code 設定值。
macOS 上的配置檔案
配置檔案用於管理 macOS 裝置上的設定。配置檔案是包含鍵/值對的 XML 檔案,這些鍵/值對對應於可用策略。這些配置檔案可以使用移動裝置管理 (MDM) 解決方案進行部署,或手動安裝。
從 VS Code 版本 1.99 開始,每個版本都附帶一個示例 .mobileconfig 檔案。該檔案位於 .app 包內,路徑為 Contents/Resources/app/policies。使用文字編輯器手動編輯或刪除策略以匹配您組織的要求。
要檢視 .app 包的內容,請在 Finder 中右鍵單擊應用程式(例如,/Applications/Visual Studio Code.app)並選擇顯示包內容。
字串策略
下面的示例演示了 AllowedExtensions 策略的配置。在示例檔案中,策略值最初為空(不允許任何擴充套件)。
<key>AllowedExtensions</key>
<string></string>
在 <string> 標籤之間新增定義您的策略的適當 JSON 字串。
<key>AllowedExtensions</key>
<string>{"microsoft": true, "github": true}</string>
其他策略,例如 UpdateMode,接受一組預定義值中的字串。
<key>UpdateMode</key>
<string>start</string>
布林值策略
布林策略值表示為 <true/> 或 <false/>。
<key>EnableFeedback</key>
<true/>
要省略某個策略,請從 .mobileconfig 檔案中刪除其鍵/值對。例如,要不強制執行更新模式策略,請刪除 UpdateMode 鍵及其後面的 <string></string> 標籤。
提供的 .mobileconfig 檔案初始化了該版本 VS Code 中提供的所有策略。刪除任何不需要的策略。
如果您不編輯或刪除示例 .mobileconfig 中的策略,該策略將以其預設(限制性)策略值強制執行。
透過雙擊 Finder 中的 .mobileconfig 檔案手動安裝配置檔案,然後在系統偏好設定的通用 > 裝置管理中啟用它。從系統偏好設定中刪除配置檔案將從 VS Code 中刪除策略。
有關配置檔案的更多資訊,請參閱Apple 的文件。
Linux 上的 JSON 策略
從 VS Code 版本 1.106 開始,您還可以透過將 JSON 策略檔案放在 /etc/vscode/policy.json 來配置 Linux 裝置上的 VS Code 設定策略。
每個版本都包含 resources/app/policies 下的示例 policy.json 檔案,其中包含可用策略。您可以透過從下載的包中提取該檔案,或透過在下載頁面上選擇並提取 tar.gz 檔案來找到該檔案。
提供的 policy.json 檔案初始化了該版本 VS Code 中提供的所有策略。刪除任何不需要的策略。
如果您不編輯或刪除示例 policy.json 中的策略,該策略將以其預設(限制性)策略值強制執行。
附加策略
目標是推廣當前的 VS Code 設定為策略,並密切遵循現有設定,以便命名和行為保持一致。如果有人請求制定更多策略,請在 VS Code 的GitHub 儲存庫中開啟一個問題。團隊將確定是否存在用於該行為的相應設定,或者是否應建立新設定來控制所需行為。
使用預裝擴充套件設定 VS Code
您可以使用一組預裝的擴充套件(引導)來設定 VS Code。在準備機器映像、虛擬機器或預裝了 VS Code 的雲工作站,並且特定擴充套件可供使用者立即使用的情況下,此功能非常有用。
預安裝擴充套件的支援目前僅在 Windows 上可用。
請按照以下步驟引導擴充套件:
-
在 VS Code 安裝目錄中建立一個
bootstrap\extensions資料夾。 -
下載您要預安裝的擴充套件的VSIX 檔案,並將它們放在
bootstrap\extensions資料夾中。 -
當用戶首次啟動 VS Code 時,
bootstrap\extensions資料夾中的所有擴充套件都會在後臺靜默安裝。
使用者仍然可以解除安裝預安裝的擴充套件。解除安裝擴充套件後重新啟動 VS Code 不會重新安裝該擴充套件。