リモート開発の概要
リモート開発では、リモートマシン、開発コンテナー、WSL、さまざまなプロバイダーを使用して、プロジェクトのチェックアウトと読み込み、インデックス作成、分析、ビルド、実行、デバッグ、コードのテストを行うことができます。
リモート開発では、次のことが可能になります。
ローカルで実行している OS とは異なる OS 上でアプリケーションを編集、ビルド、デバッグします。
開発には、ローカルマシンよりも大型または強力なハードウェアを使用します。
ラップトップをシンクライアントとして使用すると、ソースコードをローカルマシンにホストする必要はありません。
機密情報は会社のサーバー上にのみ保存されるため、どこからでも作業できます。
接続
リモートホストは、ソースコードをホストし、バックエンド IDE を実行する物理マシンまたは仮想マシンです。バックエンドに接続することで、IDE のすべての機能に透過的にフルアクセスできるようになります。
リモートマシンへの接続は、さまざまなシナリオを使用して確立できます。
SSH 接続
ローカルマシンからリモートサーバーへの SSH 接続、またはその逆 (サーバー上にすでにインストールされている IDE からローカルマシンへ)。
次のいずれかの方法を使用できます。
JetBrains Toolbox アプリ : Linux、macOS、Windows での接続をサポートしています。詳細については、Toolbox アプリ(英語)のページを参照してください。
IntelliJ IDEA : IntelliJ IDEA のウェルカム画面からリモートプロジェクトに接続します。詳細については、IntelliJ IDEA からリモートサーバーに接続するを参照してください。
JetBrains Gateway : JetBrains Gateway を使用して Linux マシンへの SSH 接続が可能です。また、様々な開発環境にも接続できます。
詳細は、JetBrains Gateway に接続して操作するを参照してください。
Dev Container 接続
リモートファイルシステムに配置されている JSON ファイルを持つプロジェクト、または Git リポジトリからクローンされたプロジェクトの場合、リモートマシン上で Dev Container を起動するときの開発コンテナー接続。
このワークフローの説明については、リモートプロジェクトのために Dev Container を開始するを参照してください。
WSL 接続
IDE バックエンドを WSL2 で直接起動するように構成する場合の WSL 接続。JetBrains Gateway は、このようなシナリオにネイティブ WSL サポートを提供します。
詳細については、WSL2 で実行されているプロジェクトに接続するを参照してください。
開発環境
JetBrains CodeCanvas、Gitpod、Google Cloud、GitHub Codespaces、Amazon CodeCatalyst、Coder で実行されているさまざまな開発環境への接続も JetBrains Gateway を通じて利用できます。
各環境への接続方法の詳細については、JetBrains Gateway に接続して操作するを参照してください。
拡張性
IDE バックエンド
バックエンドは、次の方法で IntelliJ IDEA プラグインのすべての多様性で拡張できます。
必要なプラグインを適切なディレクトリに解凍すること
次のコードを実行する(JetBrains マーケットプレイス(英語)へのネットワーク接続が必要):
remote-dev-server installPlugins <PLUGIN_ID1> <PLUGIN_ID2> ...次の例を確認してください。
remote-dev-server installPlugins IdeaVIM
プラグインが新しいインスペクションおよび機能のセットを提供する場合、それらはすべて JetBrains Client に表示されます。
詳細は、プラグインのインストールを参照してください。
JetBrains Gateway SDK
JetBrains Gateway は、他の IntelliJ プラットフォームベースの製品と同様に拡張できます。
次のいずれかの方法を使用できます。
https://github.com/JetBrains/gradle-intellij-plugin/(英語) を使用して新しいプロジェクトを設定します (
gradle-intellij-pluginは> = 1.1.4 である必要があります)JetBrains Gateway に対するプラグインを構築するには、次の設定を使用します。
intellij { version.set("213.2667-CUSTOM-SNAPSHOT") type.set("GW") instrumentCode.set(false) }https://www.jetbrains.com/intellij-repository/snapshots で利用可能なバージョンを見るかもしれません (グループ com.jetbrains.gateway を参照してください)
オーケストレーション
基本的な SSH および Code With Me 接続とは別に、ベンダーは独自のオーケストレーションサービス用に JetBrains Gateway をカスタマイズできます。これは、JetBrains とベンダー間のカスタム契約内で行うことができます。
JetBrains Gateway は IntelliJ プラットフォームに基づいており、JetBrains Client との接続と対話のための API を備えています。
次の例を確認してください。
大きな組織は独自のオーケストレーションを作成したいと考えています。セキュリティ上の理由から、基本的な SSH フローでは十分ではありません。組織は内部プラグインを作成し、開発者に提供します。開発者は、このプラグインをラップトップの JetBrains Gateway または IntelliJ IDEA にインストールできます。
これは API の非常に簡単な紹介です (まだ最終版ではなく、実際これが全範囲ではありませんが、全体的な考え方を説明しています)。
JetBrains Client
JetBrains Client は接続部分の拡張ができない仕様となっております。ただし、さまざまな IntelliJ IDEA プラグインをすべて開発してインストールすることはできます。これらのプラグインは、UI、キーボードショートカット、テーマ、IDE UI の操作に関わるその他の部分を変更しますが、その機能は変更しません。
関連ページ:
IntelliJ IDEA からリモートサーバーに接続する
IntelliJ IDEA では、リモートワークが必須となったため、リモート開発機能を提供し、遠隔地でのプロジェクトのコーディング、実行、デバッグ、デプロイを支援します。SSH による接続:リモートサーバーへの接続は SSH 経由で行われ、IntelliJ IDEA のウェルカム画面から直接開始できます。リモートサーバーに接続し、リモートプロジェクトを開くリモート開発ゲートウェイプラグインが有効があることを確認してください。IntelliJ IDEA のウェルカム画面で、リモート開発を選択しま...
JetBrains Gateway に接続して操作する
SSH 接続を使用してリモートサーバーに接続し、プロジェクトを開発、実行、デプロイできます。JetBrains コードキャンバス、Gitpod、Google Cloud、Amazon CodeCatalyst、Coder で実行されている開発環境に接続することもできます。JetBrains Gateway:JetBrains Gateway は、リモートサーバーをローカルマシンに接続し、バックエンドに必要なコンポーネントをダウンロードして、JetBrains Client でプロジェクトを開く軽量の...
リモートプロジェクトのために Dev Container を開始する
リモートファイルシステムにあるファイルを持つプロジェクト、または Git リポジトリからクローンされたプロジェクトに対して、リモートマシン上で Dev Container を起動できます。リモートサーバーで Dev Container を起動する IntelliJ IDEA を起動します。ウェルカム画面からリモート開発をクリックし、右側のオプションから Dev Container の作成をクリックします。開いたページで、をクリックして、SSH 経由でリモートマシン上の Docker に接続します。リ...
リモートプロジェクト内での作業
リモートプロジェクトは、ローカルの IntelliJ IDEA IDE で開かれるのと同じように、JetBrains Client で開かれます。他のローカルプロジェクトと同じように開発できます: コードの編集、アプリケーションの実行、デバッグ、デプロイ。リモート開発プロセスとアーキテクチャ全般について詳しく知りたい場合は、リモート開発の概要を参照してください。開いたプロジェクトに SDK を追加するプロジェクトを最初に開くと、IntelliJ IDEA はプロジェクト SDK の追加を提案する通...
リモート開発
Java 開発環境 IntelliJ IDEA の使い方や高等テクニック満載の JetBrains 日本語公式ヘルプ。最新の英語版ヘルプ内容が随時反映されます。