統合ブラウザー
統合ブラウザーを使用すると、VS Code 内で直接 Web ページを開いて操作できます。Web アプリケーションのプレビュー、認証フローのテスト、ページ要素を選択して AI チャットのプロンプトにコンテキストとして追加するなどの操作に使用します。

統合ブラウザーは現在試験的な機能であり、今後のリリースで変更される可能性があります。
ブラウザーを開く
統合ブラウザーを開くには、いくつかの方法があります
- コマンド パレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) から ブラウザー: 統合ブラウザーを開く (Browser: Open Integrated Browser) コマンドを実行します。
- メニュー バーから 表示 > ブラウザー を選択するか、キーボード ショートカット ⌥⌘/ (Windows、Linux Ctrl+Alt+/) を使用します。
- VS Code のタイトル バーにある地球儀のボタンを選択します。地球儀のボタンを表示するかどうかを制御するには、設定 workbench.browser.showInTitleBar を使用します。
- ターミナルやチャットなど、VS Code 内の任意の場所にある
localhostのリンクを選択します。この動作を有効にするには、設定 workbench.browser.openLocalhostLinks を使用します。 - Web ページを開くか、操作するようにエージェントに依頼します。詳細は エージェント向けブラウザー ツール を参照してください。
editor-browserデバッグ タイプを使用してデバッグ セッションを開始します。詳細は デバッグ を参照してください。
複数のブラウザー インスタンスを、それぞれ独自のエディター タブで同時に開くことができます。ブラウザー タブが既に開いている場合、表示 > ブラウザー メニュー項目とタイトル バーの地球儀ボタンは、新しいブラウザー タブを作成する代わりに、タブ管理 のクイック ピックを開きます。
ナビゲーション
ブラウザーは http://、https://、および file:// URL をサポートしています。アドレス バーを使用して任意の URL に移動するか、ページ内リンクを使用してサイト内を移動します。
- 通常のナビゲーションやアンカー リンクは期待通りに動作します
- Ctrl+クリック (macOS では Cmd+クリック) で、リンクを新しいブラウザー タブで開きます
- ポップアップはブロックされますが、新しいタブは許可されます
タブの管理
ブラウザー: ブラウザー タブをすばやく開く... (Browser: Quick Open Browser Tab...) コマンド (⇧⌘A (Windows, Linux Ctrl+Shift+A)) を使用して、開いているブラウザー タブをすばやく切り替えます。クイック ピックには、エディター グループごとにグループ化された、開いているすべてのタブがリストされ、入力してタブ名や URL でフィルター処理できます。
クイック ピックからは、以下の操作を行えます
- タブを選択して切り替える
- 新規統合ブラウザー タブ (New Integrated Browser Tab) を選択して、新しいブラウザー タブを開く
- タブの閉じるボタンを選択して閉じる
- すべて閉じる (Close All) ボタンを選択して、すべてのブラウザー タブを閉じる
以下のコマンドを使用して、ブラウザー タブを閉じることもできます
| コマンド | 説明 |
|---|---|
| ブラウザー: すべてのブラウザー タブを閉じる | すべてのエディター グループにわたるすべてのブラウザー タブを閉じます。 |
| ブラウザー: グループ内のすべてのブラウザー タブを閉じる | 現在のエディター グループ内のすべてのブラウザー タブを閉じます。 |
すべてのブラウザー タブを閉じる オプションは、ブラウザー エディター タブを右クリックしたときに表示されるコンテキスト メニューからも利用できます。
デベロッパー ツール
ブラウザーのツールバーからブラウザーのデベロッパー ツールを切り替えて、要素の検証、コンソール出力の表示、ページの問題のデバッグを行います。
デバッグ
launch.json 構成で editor-browser デバッグ タイプを使用することで、統合ブラウザー内で直接 Web アプリケーションをデバッグできます。デバッガーがアタッチされた状態で新しいブラウザー タブを起動するか、既に開いているタブにアタッチします。これは、外部ブラウザーがインストールされていなくても、Visual Studio Code Desktop がサポートされている場所ならどこでも動作します。
editor-browser デバッグ タイプは、まだ 実行とデバッグ の自動検出フローでは利用できません。launch.json ファイルに手動で追加する必要があります。
デバッグ セッションの起動
新しい統合ブラウザー タブを起動してデバッグを開始するには、.vscode/launch.json ファイルに起動構成を追加します
{
"version": "0.2.0",
"configurations": [
{
"type": "editor-browser",
"request": "launch",
"name": "Launch in integrated browser",
"url": "https://:8000"
}
]
}
プレス F5 を押して、デバッガーがアタッチされた状態で統合ブラウザーで URL を開きます。ブレークポイント、ステップ実行、変数検査などの標準的なデバッグ機能が期待通りに動作します。デバッグ セッションを停止すると、ブラウザー タブは自動的に閉じます。
既存のタブへのアタッチ
既に開いている統合ブラウザー タブにデバッガーをアタッチするには、アタッチ構成を使用します
{
"version": "0.2.0",
"configurations": [
{
"type": "editor-browser",
"request": "attach",
"name": "Attach to integrated browser"
}
]
}
この構成を開始すると
- 統合ブラウザー タブが1つも開いていない場合、VS Code は新しいタブを作成してそれにアタッチします。
- タブが 1 つだけ開いている場合、VS Code は自動的にそのタブにアタッチします。
- 複数のタブが開いている場合は、選択ピッカーが表示され、どのアタッチ先タブを選択するか指定できます。
デバッグ セッションを停止しても、ブラウザー タブは開いたままになります。
特定の URL を持つタブに自動的にアタッチするには、構成に urlFilter プロパティを追加します
{
"type": "editor-browser",
"request": "attach",
"name": "Attach to localhost",
"urlFilter": "https://:3000/*"
}
フィルターに一致するタブが 1 つだけの場合、VS Code は直接そのタブにアタッチします。複数のタブが一致する場合、ピッカーにはフィルター処理された結果のみが表示されます。
起動構成属性の完全なリファレンスについては、VS Code でのブラウザー デバッグ を参照してください。
スタンドアロン ウィンドウ
エディター タブを右クリックして 新しいウィンドウに移動 (Move into New Window) を選択することで、ブラウザーを専用のフローティング ウィンドウに移動できます。フローティング ウィンドウのタイトル バーから 常に手前に表示 (Set Always on Top) を使用して、常に表示された状態に維持します。
AI チャットにコンテキストを追加する
ブラウザーのツールバーには、現在のページからさまざまな種類のコンテキストをキャプチャしてチャット プロンプトに添付できる、アクション付きの チャットに追加 (Add to Chat) 分割ボタンがあります。これらのアクションはコマンド パレットからも利用できます。
要素の追加
Web ページから要素を選択して、チャット プロンプトにコンテキストとして追加します。これは、特定の HTML 要素、CSS スタイルに関するヘルプを得たり、UI の問題をデバッグしたりするのに便利です。
- 統合ブラウザーを開き、Web アプリに移動します。
- ブラウザーのツールバーにある 要素をチャットに追加 (Add Element to Chat) ボタンを選択して、選択モードに入ります。
- 要素の上にカーソルを置き、選択してチャット プロンプトに追加します。
含まれる情報の構成
| 設定 | 説明 |
|---|---|
| chat.sendElementsToChat.attachCSS | 選択した要素の CSS スタイルを含める |
| chat.sendElementsToChat.attachImages | 選択した要素のスクリーンショットを含める |
スクリーンショットの追加
現在のブラウザー ビューポートのスクリーンショットをキャプチャし、画像としてチャット プロンプトに添付します。これを使用して、レイアウトの問題について質問したり、デザインに関するフィードバックを得たり、Web アプリの現在の状態を示したりします。
ブラウザーのツールバーから スクリーンショットをチャットに追加 (Add Screenshot to Chat) を選択するか、ブラウザー: スクリーンショットをチャットに追加 (Browser: Add Screenshot to Chat) コマンドを実行します。スクリーンショットはチャット パネルが開く前にキャプチャされるため、表示されている通りのページが反映されます。
コンソール ログの追加
現在のページからコンソール出力をキャプチャし、チャット プロンプトにコンテキストとして添付します。これは、Web アプリのランタイム エラーや予期しない動作をデバッグするのに便利です。
ブラウザーのツールバーから コンソール ログをチャットに追加 (Add Console Logs to Chat) を選択するか、ブラウザー: コンソール ログをチャットに追加 (Browser: Add Console Logs to Chat) コマンドを実行します。
詳細は、チャットへのコンテキストの追加 を参照してください。
権限
セキュリティのため、ブラウザーはほとんどの権限要求 (カメラ、マイク、位置情報) を自動的に拒否します。通知、クリップボードへのアクセス、およびファイルの選択は許可されます。
セッション ストレージ
統合ブラウザーが Cookie、ログイン情報、localStorage、キャッシュなどのセッション データを保存する方法を、設定 workbench.browser.dataStorage で制御します。
| モード | 説明 |
|---|---|
global |
データは保持され、すべてのブラウザー タブとワークスペース間で共有されます。 |
workspace |
データはワークスペース内に保持されますが、ワークスペース間で隔離されます。 |
ephemeral |
データはタブ間で共有されず、保持もされません。シークレット モードに似ています。 |
保存されたデータを消去するには、ブラウザーのツールバーにあるメニューを選択し、現在のストレージ モードに応じて ストレージの消去 (グローバル) (Clear Storage (Global)) または ストレージの消去 (ワークスペース) (Clear Storage (Workspace)) を選択します。消去後にブラウザー タブをリロードして変更を適用します。
信頼されていないワークスペースでは、データを保護するために、設定に関係なくブラウザーは常に ephemeral モードを使用します。
Live Preview 拡張機能での使用
Live Preview 拡張機能は、Web ページのプレビューに統合ブラウザーを使用できます。デフォルトのプレビュー ブラウザーとして使用するには、設定 livePreview.useIntegratedBrowser を有効にします。
エージェント向けブラウザー ツール
エージェント向けのブラウザー ツールは現在試験的な機能です。
エージェントは、組み込みのブラウザー ツールを使用して、統合ブラウザー内のページを読み取って操作できます。有効にすると、エージェントは、外部の MCP サーバーを必要とせずに、ブラウザー ページを開く、URL に移動する、ページ コンテンツやコンソール エラーを読み取る、スクリーンショットを撮る、要素をクリックする、テキストを入力する、要素の上にホバーする、要素をドラッグする、ダイアログを処理する、Playwright コードを実行するなどの操作をすべて実行できます。
ブラウザー ツールは、AI チャットへのコンテキストの追加 とは異なります。「チャットに追加」アクションを使用すると、手動でページ要素を選択したり、スクリーンショットをキャプチャしたり、コンソール ログをチャット プロンプトのコンテキストとして添付したりできます。一方、ブラウザー ツールを使用すると、エージェントが自律的に Web ページを操作してタスクを完了できます。
ブラウザー ツールを有効にするには、設定 workbench.browser.enableChatTools この設定は組織レベルで管理されています。変更するには管理者にお問い合わせください。 を true に設定します。これで、エージェントはツールを自動的に利用できるようになります。
ブラウザー ページをエージェントと共有する
自分が開いたページをエージェントに読み取らせたり操作させたりするには、ブラウザーのツールバーにある エージェントと共有 (Share with Agent) ボタンを選択します。エージェントがアクセスする前に、共有を承認するか確認するダイアログが表示されます。

ブラウザー タブ上の視覚的インジケーターは、ページが現在共有されていることを示します。共有を停止するには、エージェントと共有 (Share with Agent) ボタンをもう一度選択します。これにより、エージェントの該当ページへのアクセス権が即座に無効になります。
これで、エージェントにページからコンテンツを読み取るか、ページを操作するように依頼できます。たとえば、「ページのタイトルは何ですか?」や「ログインボタンをクリックして、機能するかどうか教えてください」のように質問できます。
共有されたページでは、Cookie やログイン状態を含む、既存のブラウザー セッションが使用されます。エージェントによって開かれたページは分離された一時的な (ephemeral) セッションを使用するため、他のブラウザー タブと Cookie やストレージを共有しません。
エージェント起点の共有要求
共有されていないブラウザー タブが開いている場合、エージェントは共有されていないタブが存在することを検出し、タブを共有するよう促すことができます。たとえば、「このブラウザー ページには何が表示されていますか?」と質問したときにどのタブも共有されていない場合、エージェントはタブを共有するかどうかを選択できる質問カルーセルを表示します。
エージェントが新しいページを開こうとしたときに、同じドメインのタブが既に開いている場合は、新しいページを開く代わりに、既存のタブを共有するよう促されます。一致するドメインとポートを持つタブのみがリストされます。いいえ (No) を選択した場合、エージェントは新しいタブを開き、その新しいタブのみが共有されます。
オートパイロット モードでは、プライバシーを保護するため、共有要求は自動的に拒否されます。