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

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

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 の Window ログでエラーを確認できます (⇧⌘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 と見なされます。ワイルドカードの使用は現在サポートされていません。

ヒント

発行元 ID が異なる場合でも、Microsoft が発行したすべての拡張機能を参照するには、発行元 ID として microsoft を使用できます。

バージョン範囲はサポートされていません。拡張機能の複数のバージョンを許可する場合は、各バージョンを個別に指定する必要があります。プラットフォームごとにバージョンをさらに制限するには、@ 記号を使用してプラットフォームを指定します。例: "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 の拡張機能についてさらに詳しく知りたい場合は、拡張機能のドキュメントを参照してください。

自動更新を構成する

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 - 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 Model Context Protocol (MCP) サーバーとの統合を有効にします。 chat.mcp.enabled 1.99
ChatToolsAutoApprove エージェント モード ツールの自動承認を有効にします。 chat.tools.autoApprove 1.99

Windows のグループ ポリシー

VS Code は、Windows レジストリベースのグループ ポリシーをサポートしています。VS Code バージョン 1.69 以降、各リリースには ADMX テンプレート ファイルを含む policies ディレクトリが同梱されており、これを 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 を開き、シナリオの詳細を共有してください。