VS Codeのエージェントモードを拡張するには、を試してください!

エンタープライズサポート

Visual Studio Code は、あらゆる規模の企業チームの開発ツールとして使用できます。IT 管理者として、組織全体で一貫性と互換性を実現するために VS Code を構成できます。

ネットワーク: 一般的なホスト名

自動更新メカニズム、拡張機能のクエリとインストール、テレメトリーなど、VS Code の一部の機能が動作するにはネットワーク通信が必要です。これらの機能がプロキシ環境で適切に動作するためには、製品が正しく構成されている必要があります。

必要なドメインについては、ネットワークの一般的なホスト名リストを参照してください。

許可される拡張機能の構成

許可される拡張機能のサポートは、VS Code バージョン 1.96 以降で利用可能です。

VS Code のアプリケーション全体の設定である extensions.allowed は、ユーザーのマシンにどの拡張機能をインストールできるかを制御します。この設定が構成されていない場合、すべての拡張機能が許可されます。設定が構成されている場合、リストにないすべての拡張機能はインストールがブロックされます。すでにインストールされている拡張機能またはバージョンをブロックした場合、その拡張機能は無効になります。

組織向けに許可される拡張機能を一元的に管理するには、デバイス管理ソリューションを使用して AllowedExtensions ポリシーを構成します。このポリシーは、ユーザーのデバイスの extensions.allowed 設定を上書きします。このポリシーの値は、許可される拡張機能を含む JSON 文字列です。

重要

ポリシー値に構文エラーがある場合、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 は、C++ 拡張機能を除くすべての Microsoft 拡張機能を許可します。

重複するキー値はサポートされていません。たとえば、"microsoft": true"microsoft": false の両方を含めると、無効なポリシーになります。

VS Code の拡張機能について詳しく知りたい場合は、拡張機能のドキュメントを参照してください。

自動更新の構成

update.mode VS Code 設定は、新しいバージョンがリリースされたときに VS Code が自動的に更新されるかどうかを制御します。更新は Microsoft のオンラインサービスから取得されます。

この設定には次のオプションがあります。

  • none - 更新が無効になります
  • manual - 自動更新チェックは無効になりますが、ユーザーは手動で更新を確認できます
  • start - VS Code の起動時にのみ更新を確認し、自動更新チェックは無効になります
  • default - 自動更新チェックが有効になり、定期的にバックグラウンドで実行されます

組織の自動更新を一元的に管理するには、デバイス管理ソリューションを使用して UpdateMode ポリシーを構成します。このポリシーは、ユーザーのデバイスの update.mode 設定を上書きします。このポリシーの値は、更新モードを含む文字列です。

テレメトリーレベルの構成

telemetry.telemetryLevel VS Code 設定は、VS Code テレメトリー、ファーストパーティ拡張機能のテレメトリー、および参加しているサードパーティ拡張機能のテレメトリーを制御します。一部のサードパーティ拡張機能はこの設定を尊重しない場合があります。収集するデータの詳細については、こちらをご覧ください。

  • all - 使用状況データ、エラー、クラッシュレポートを送信します
  • error - 一般的なエラーテレメトリーとクラッシュレポートを送信します
  • crash - OS レベルのクラッシュレポートを送信します
  • 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.enabled 1.99
ChatToolsAutoApprove エージェントモードツールの自動承認を有効にします。 chat.tools.autoApprove 1.99

Windows のグループポリシー

VS Code は、Windows レジストリベースのグループポリシーをサポートしています。VS Code バージョン 1.69 以降、各リリースには、次のパス (C:\Windows\PolicyDefinitions) に追加できる ADMX テンプレートファイルを含む policies ディレクトリが同梱されています。対応する adml ファイルも C:\Windows\PolicyDefinitions\<your-locale> ディレクトリにコピーするようにしてください。

ポリシー定義がインストールされると、管理者はローカルグループポリシーエディターを使用してポリシー値を管理できます。

ポリシーは、コンピューターレベルとユーザーレベルの両方で設定できます。両方が設定されている場合、コンピューターレベルが優先されます。ポリシー値が設定されると、その値は 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 リポジトリでイシューを開いてください。チームは、その動作に対応する既存の設定があるか、または目的の動作を制御するために新しい設定を作成する必要があるかを判断します。

プリインストールされた拡張機能で 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 リポジトリでイシューを開き、あなたのシナリオの詳細を共有してください。