Dock Stay
IntelliJ 系から devcontainer に接続する - JetBrains Gateway の使い方・オプション・サンプル

IntelliJ 系から devcontainer に接続する - JetBrains Gateway

JetBrains Gateway は IntelliJ / WebStorm / PyCharm などの IDE をリモートのコンテナや SSH 先に接続するランチャ。`devcontainer.json` を読み込み、VS Code 以外の開発者も同じ定義を使える。

概念図

JetBrains Gateway diagram

構文

bash
JetBrains Gateway → New Dev Container → from VCS

Gateway でできること

JetBrains Gateway は、IntelliJ IDEA / WebStorm / PyCharm / GoLand / Rider といった JetBrains IDE を「リモートのマシン・コンテナで動かし、手元にはシン UI だけを残す」ためのランチャです。

接続先として次の 3 つが選べます。

  • SSH 先: 任意のサーバーに SSH で入り、そこに IDE バックエンドを展開
  • Dev Containers: ローカル Docker 上に devcontainer.json ベースのコンテナを立ち上げ、そこに接続
  • JetBrains Space / Codespaces 等のマネージド環境

VS Code Dev Containers と発想は同じで、「開発環境はコンテナ側、UI だけ手元」という分担を JetBrains 系でも成立させます。

devcontainer.json の共有ポイント

Gateway は devcontainer.json の主要キー(image / build / features / forwardPorts / postCreateCommand / remoteUser など)を読み取ります。

VS Code 側で動いていた同じ設定を流用でき、チーム内で「VS Code 派」「IntelliJ 派」が混在していても 1 つの定義を共有できます。

一方で、customizations.vscode 以下は VS Code 専用です。

JetBrains 固有の設定を共有したい場合は customizations.jetbrains のようなツール別ブロックを使います。

VS Code Dev Containers との違い

観点 VS Code Dev Containers JetBrains Gateway
前提エディタ VS Code IntelliJ / WebStorm / PyCharm 等
バックエンド VS Code Server 各 JetBrains IDE の Remote Development バックエンド
拡張 / プラグイン customizations.vscode.extensions で自動インストール customizations.jetbrains.plugins で同様に指定
通信 VS Code のリモートプロトコル JetBrains Remote Development プロトコル
ビルド / デバッガ コンテナ内の VS Code Server が担当 コンテナ内の IDE バックエンドが担当

どちらも結局は「コンテナ内に IDE バックエンドを入れ、手元には UI」という構造で、devcontainer.json はその共通言語として振る舞います。

運用上のヒント

  • メモリに注意: JetBrains 系バックエンドは VS Code Server より重い(典型的には数百 MB 〜)。コンテナの --memory を 2 GB 以上にしておく
  • インデックス時間: 初回の IntelliJ インデックス作成は時間がかかる。prebuild 済みのマシンや Codespaces を併用するとストレスが減る
  • ポート転送: Gateway も forwardPorts を読むが、IDE 内デバッガの追加ポートは別途自動管理される。ファイアウォール設定を絞りすぎないこと
  • ローカル IDE との併存: 同じリポジトリを「ローカル IDE」と「Gateway 経由のコンテナ」で同時に開くと、ファイルロックやインデックスが衝突しうる。どちらかに寄せる

関連トピック