參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

企業支援

Visual Studio Code 可以作為各種規模企業團隊的開發工具。作為 IT 管理員,您可以配置 VS Code,以在整個組織內實現一致性和相容性。

網路:常用主機名

VS Code 中的一些功能需要網路通訊才能工作,例如自動更新機制、查詢和安裝擴充套件以及遙測。為了讓這些功能在代理環境中正常工作,您必須正確配置產品。

有關所需域名,請參閱網路常用主機名列表

配置允許的擴充套件

注意

從 VS Code 1.96 版本開始,支援配置允許的擴充套件。

VS Code 中的 extensions.allowed 應用級設定使您能夠控制可以在使用者計算機上安裝哪些擴充套件。如果未配置該設定,則允許所有擴充套件。如果配置了該設定,則所有未列出的擴充套件都將被阻止安裝。如果您阻止了已安裝的擴充套件或版本,該擴充套件將被停用。

要為您的組織集中管理允許的擴充套件,請使用您的裝置管理解決方案配置 AllowedExtensions 策略。此策略會覆蓋使用者裝置上的 extensions.allowed 設定。此策略的值是一個包含允許的擴充套件的 JSON 字串。

{
  "github": true,
  "microsoft": true
}

以下是管理員如何使用本地組策略編輯器在本地配置 AllowedExtensions 策略的示例。

Configuring AllowedExtensions from the Local Group Policy Editor

重要

如果策略值中存在語法錯誤,extensions.allowed 設定將不會被應用。您可以在 VS Code 中檢查視窗日誌以查詢錯誤(按 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 並輸入顯示視窗日誌 (Show Window Log))。

允許的擴充套件設定值

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 擴充套件的更多資訊,請參閱擴充套件文件

配置自動更新

update.mode VS Code 設定控制 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 設定。

Settings editor showing that the 'Extensions: Allowed' setting is managed by the organization.

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
ChatMCP 啟用對模型上下文協議 (MCP) 伺服器的支援。 chat.mcp.access 1.99
ChatToolsAutoApprove 為代理模式工具啟用全域性自動批准。 chat.tools.global.autoApprove 1.99
CopilotReviewSelection 為編輯器中的選定內容啟用程式碼審查。 github.copilot.chat.reviewSelection.enabled 1.104
CopilotReviewAgent 為拉取請求和已更改的檔案啟用 Copilot 程式碼審查。 github.copilot.chat.reviewAgent.enabled 1.104
ChatToolsTerminalEnableAutoApprove 為終端工具啟用基於規則的自動批准。 chat.tools.terminal.autoApprove 1.104

Windows 上的組策略

VS Code 支援基於 Windows 登錄檔的組策略。從 VS Code 1.69 版本開始,每個版本都附帶一個 policies 目錄,其中包含可以新增到以下路徑的 ADMX 模板檔案:C:\Windows\PolicyDefinitions。請確保同時將相應的 adml 檔案複製到 C:\Windows\PolicyDefinitions\<your-locale> 目錄。

安裝策略定義後,管理員可以使用本地組策略編輯器來管理策略值。

諸如 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 的文件

附加策略

我們的目標是將當前的 VS Code 設定提升為策略,並緊密遵循現有設定,以便命名和行為保持一致。如果有更多策略的制定請求,請在 VS Code 的 GitHub 倉庫中提交一個 issue。團隊將確定是否已有相應的設定來控制該行為,或者是否應建立一個新設定來控制期望的行為。

設定帶有預裝擴充套件的 VS Code

您可以設定帶有預裝擴充套件集(引導)的 VS Code。當您準備一個預裝了 VS Code 的機器映象、虛擬機器或雲工作站,並希望特定擴充套件能立即對使用者可用時,此功能非常有用。

注意

預裝擴充套件的功能目前僅在 Windows 上可用。

按照以下步驟引導擴充套件:

  1. 在 VS Code 安裝目錄中建立一個名為 bootstrap\extensions 的資料夾。

  2. 下載您想要預裝的擴充套件的 VSIX 檔案,並將它們放入 bootstrap\extensions 資料夾中。

  3. 當用戶首次啟動 VS Code 時,bootstrap\extensions 資料夾中的所有擴充套件都將在後臺靜默安裝。

使用者仍然可以解除安裝預裝的擴充套件。解除安裝擴充套件後重啟 VS Code 不會重新安裝該擴充套件。

常見問題

VS Code 是否支援 Linux 上的配置檔案?

目前沒有支援 Linux 的計劃。如果您對 Linux 上的配置檔案感興趣,請在 VS Code 的 GitHub 倉庫中提交一個 issue,並分享您場景的詳細資訊。