IntelliJ 系から devcontainer に接続する - JetBrains Gateway
JetBrains Gateway は IntelliJ / WebStorm / PyCharm などの IDE をリモートのコンテナや SSH 先に接続するランチャ。`devcontainer.json` を読み込み、VS Code 以外の開発者も同じ定義を使える。
概念図
構文
JetBrains Gateway → New Dev Container → from VCSGateway でできること
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 経由のコンテナ」で同時に開くと、ファイルロックやインデックスが衝突しうる。どちらかに寄せる
関連トピック
devcontainer- Dev Containers は、開発環境そのものをコンテナとして記述・配布する仕組み。VS Code Dev Containers 拡張や GitHub Codespaces と組み合わせ、「誰の手元でも同じ環境」を即座に立ち上げられる。 devcontainer.json- `devcontainer.json` は Dev Container の設定を記述する中心ファイル。ベースイメージ、ポート転送、VS Code 拡張、起動後コマンドなどをまとめて指定する。 Codespaces- GitHub Codespaces は `devcontainer.json` を GitHub のクラウド VM 上で起動するサービス。ブラウザや VS Code から接続して、ローカル環境を整えずに開発できる。 