Java 開発のサポートの強化 - AWS Cloud9

Java 開発のサポートの強化

AWS Cloud9 では、Java 使用時の開発エクスペリエンスを向上させるための言語サポートが強化されます。生産性に関する主な機能には、コード補完、エラーの linting、コードレンズ、ブレークポイントやステッピングなどのデバッグオプションが含まれます。

重要

生産性向上機能は、Amazon EC2 インスタンスに接続される AWS Cloud9 開発環境でのみ使用できます。

また、Java の拡張言語サポートを使用する場合、IDE のエクスペリエンスを最適にするには、AWS Cloud9 環境をサポートする Amazon EC2 コンピューティングインスタンスに 2 GiB 以上のメモリが必要です。AWS Cloud9 によって、EC2 コンピューティングインスタンスに十分な RAM がないことが検出された場合、Java の拡張機能を有効にするオプションは表示されません。

現在、AWS Cloud9 は、Java SE 11 までのバージョンで利用可能な言語機能をサポートしています。Amazon Coretto 11 (Open Java Development Kit (OpenJDK) の無料、マルチプラットフォーム、本番環境対応のディストリビューション) は、開発環境をサポートする Amazon EC2 インスタンスにすでにインストールされています。より新しいバージョンの JDK をインストールできますが、Java 11 以降に導入された言語機能 (レコードタイプやシールクラスなど) はサポートされていません。

Java の拡張サポートの有効化とカスタマイズ

次の条件を満たすと、Java の拡張サポートを有効にするオプションが自動的に表示されます。

  • AWS Cloud9 環境は、2 GiB 以上のメモリを搭載した Amazon EC2 インスタンスに接続されています。

  • Java 開発に関連付けられたファイルを使用しています。AWS Cloud9 でファイル名と拡張子 (*.java*.gradle (Gradle ビルドツールと関連付け)、pom.xml (Apache Maven ビルドツールと関連付け)) がチェックされます。

  • 2020 年 12 月 11 日以降に作成された AWS Cloud9 環境を使用しています。現在、この日付より前に作成された開発環境で Java の生産性向上機能は使用できません。

これらの条件が満たされると、Java のコーディングとデバッグのために生産性向上機能を有効にするかどうかを確認するダイアログボックスが表示されます。[Activate] (有効化) を選択すると、IDE でこの機能の使用を開始できます。


            コード補完機能
注記

AWS Cloud9 環境の作成時に起動される Amazon EC2 インスタンスには、Amazon Coretto 11 がインストールされています。Amazon Corretto は、Open Java Development Kit (OpenJDK) の、マルチプラットフォーム対応の本番稼働可能な、無償ディストリビューションです。つまり、Java アプリケーションの開発および実行を AWS Cloud9 ですぐに開始できます。

また、AWS Cloud9 インターフェイスを使用して、拡張言語サポートとデバッグサポートを手動で有効および無効にすることもできます。[Preferences] (設定)、[Java Support] (Java サポート)、[Enhanced Java Support] (拡張 Java サポート) の順に選択します。


            手動による Java の拡張サポートの有効化と無効化

AWS Cloud9 における Java 開発の拡張サポートでは、IDE に次の 2 つの拡張機能が追加されます。

  • Red Hat による Java(TM) の言語サポート

  • Java のデバッガー

AWS Cloud9 インターフェイスで各種設定を使用して、これらの拡張機能のパフォーマンスをカスタマイズできます。拡張機能の設定を変更するには、[Preferences] (設定)、[Java Support] (Java サポート) の順に選択します。

これらの設定の詳細については、拡張機能の GitHub リポジトリの以下の関連する ReadMe ページを参照してください。

機能のハイライト

Java の拡張サポートを有効にすると、各種の生産性向上機能を使用できます。

コード補完

コード補完を使用すると、入力しているコードに基づいてコンテキストに対応した候補がエディタに表示されます。例えば、オブジェクト名の後にドット (「.」) 演算子を入力すると、そのオブジェクトで使用可能なメソッドまたはプロパティがエディタに表示されます。


            コード補完機能

コードレンズ

コードレンズを使用すると、ソースコード内のコンテキスト固有のアクションに直接アクセスできます。Java 開発の場合、コードレンズは特定のメソッドを実行およびデバッグできるようにすることで、単体テストを容易にします。


            コードレンズへのアクセス

コードの linting

コードの linting は、ビルドする前にエディタがコード内の潜在的なエラーをどのように強調表示するかを記述します。例えば、初期化されていない変数を使用しようとする場合や、割り当てようとしている値と変数の型が一致しない場合、linting ツールが呼び出されます。


            コードをビルドする前に linting でエラーを強調表示

デバッグオプション

ブレークポイントとウォッチ式を実装できます。ソースコードにブレークポイントを設定し、デバッガーペインを表示して関連する条件を定義します。


            デバッグオプション

Java コマンド

AWS Cloud9 コマンドパネルからコマンドを実行するには [Ctrl+.] または [F1] を押します。その後に「java」と入力して、関連するコマンドをフィルタリングします。


            使用可能な Java コマンドの一覧表示

Quick fixes (簡易修正)

簡易修正を使用すると、欠落している要素のスタブを作成して、宣言されていない変数または未定義のメソッドを使用することで発生するエラーを解決できます。


            簡易修正の実装

リファクタリング

リファクタリングを使用すると、動作を変更せずにコードを再構築できます。インポートの構成、コンストラクタの作成などのオプションにアクセスするには、項目のコンテキスト (右クリック) メニューを開いて、[Refactoring] (リファクタリング) を選択します。


            リファクタリング機能

名前の変更

名前の変更はリファクタリング機能の 1 つです。1 回のアクションで、選択した変数、関数、およびクラスの名前を、コード内で表示されるすべての場所で簡単に変更できます。名前を変更するには、項目のコンテキスト (右クリック) メニューを開き、[Rename] (名前の変更) を選択します。名前の変更は、コード内の名前のすべてのインスタンスに影響します。


               クラス名の変更

Java 開発用のオプションツール

Java の拡張サポートを提供する拡張機能には、Gradle および Maven オートメーションツールをプロジェクト開発に統合できる機能が含まれています。これらのツールは、AWS Cloud9 開発環境にプリインストールされません。これらのオプションのビルドツールをインストールして使用する方法については、次のリソースを参照してください。