VS Code で Java プロジェクトを管理する
Project Manager for Java 拡張機能は、Java プロジェクトとその依存関係を管理するのに役立ちます。また、新しい Java プロジェクト、パッケージ、クラスを作成するのにも役立ちます。Visual Studio Code で完全な Java 言語サポートを受けるには、Project Manager for Java 拡張機能を含む Extension Pack for Java をインストールできます。
Extension Pack for Javaをインストールする
拡張機能パックの使用を開始する方法の詳細については、Java の使用開始チュートリアルを参照してください。
プロジェクトビュー
Java プロジェクトビューは、Java プロジェクトとその依存関係を表示するのに役立ち、プロジェクト管理タスクのエントリポイントを提供します。
既定では、Java プロジェクトビューはエクスプローラービューの下に表示されます。表示されない場合は、エクスプローラーのタイトルバーにある
...
ボタンをクリックし、Java プロジェクトを選択してみてください。
ナビゲーションバーのオーバーフローボタンには、さらに多くのオプションがあります。たとえば、階層ビューとフラットビューを切り替えることができます。
エクスプローラーのノードの横にはボタンがあり、いくつかのアクションに便利なショートカットを提供します。
各ノードのコンテキストメニューには、多くの便利な機能もあります。エクスプローラーのノードを右クリックして、それを切り替えることができます。
新しい Java プロジェクトを作成する
ナビゲーションバーの+ボタンをクリックするか、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) でJava: Create Java Project...コマンドを使用して、新しい Java プロジェクトを作成できます。作成中に、VS Code は、拡張機能がインストールされていない場合、プロジェクトタイプに応じて必要な拡張機能をインストールするのを容易にします。
Java プロジェクトをインポートする
既存の Java プロジェクトおよびモジュールをファイル > フォルダーを開く...からワークスペースに直接インポートできます (開いたフォルダーにビルドツールのスクリプト、たとえば pom.xml
や build.gradle
が含まれていることを確認してください)。VS Code for Java は、プロジェクトを検出し、自動的にインポートします。
プロジェクトに新しいモジュールを追加した場合、Java: Import Java projects in workspace コマンドをトリガーしてワークスペースにインポートできます。このコマンドは、VS Code ウィンドウをリロードする必要なく、新しいプロジェクトをワークスペースにインポートするのに役立ちます。
JAR にエクスポートする
プロジェクトビューからビルドを JAR にエクスポートするか、Java: Export Jar... コマンドを実行することで、ビルドを JAR にエクスポートできます。
プロジェクトのランタイムを設定する
Java の進化に伴い、開発者が複数のバージョンの JDK を使用することは一般的です。設定 java.configuration.runtimes
を使用して、それらをローカルのインストールパスにマッピングできます。設定は次の形式です
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "/usr/local/jdk1.8.0_201"
},
{
"name": "JavaSE-11",
"path": "/usr/local/jdk-11.0.3",
"sources" : "/usr/local/jdk-11.0.3/lib/src.zip",
"javadoc" : "https://docs.oracle.com/en/java/javase/11/docs/api",
"default": true
},
{
"name": "JavaSE-12",
"path": "/usr/local/jdk-12.0.2"
},
{
"name": "JavaSE-13",
"path": "/usr/local/jdk-13"
}
]
注: エントリに
"default": true
を追加することで、そのうちの 1 つをデフォルトに設定できます。デフォルトの JDK は、管理されていないフォルダー (ビルドツールなし) に使用されます。
プロジェクトにどの JDK が使用されているかを確認するには、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) でJava: Configure Java Runtime コマンドをトリガーします。このコマンドは、プロジェクトのランタイム情報を表示するビューを開きます。
Maven および Gradle プロジェクトの JDK を変更する
Maven または Gradle プロジェクトの JDK バージョンを変更したい場合は、ビルドスクリプト (pom.xml
または build.gradle
) で更新する必要があります。 をクリックすると、変更方法が表示されます。 をクリックすると、プロジェクトのビルドスクリプトファイルに移動します。
管理されていないフォルダーの JDK を変更する
管理されていないフォルダー (ビルドツールなし) の JDK を変更するには、 ボタンをクリックします。すべての JDK が表示され、管理されていないフォルダーに 1 つを選択できます。
JDK をダウンロードする
新しい JDK をダウンロードしたい場合は、download
リンクをクリックするか、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) でJava: Install New JDK コマンドをトリガーします。新しいビューが開き、JDK のダウンロード方法を案内します。
注: Java のプレビュー機能を有効にするには、新しい Java バージョンで VS Code を使用する方法を参照してください。
管理されていないフォルダーのクラスパスを設定する
Project Management for Java 拡張機能は、管理されていないフォルダーのクラスパスを設定するためのユーザーインターフェイスを提供します。クラスパスは、クラスパス設定ページで手動で設定できます。コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) からJava: Configure Classpath コマンドを実行して開くことができます。
まれなケースでは、言語サーバーが依存関係を再構築できるように、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) からJava: Clean Java Language Server Workspace コマンドを実行して、Java ワークスペースをクリーンアップする必要がある場合があります。
依存関係管理
Maven 依存関係を追加する
Maven プロジェクトの場合、プロジェクトビューのMaven Dependenciesノードの横にある+アイコンをクリックして、依存関係を追加できます。
管理されていないフォルダーの依存関係を管理する
プロジェクトがビルドツールのない管理されていないフォルダーの場合、Referenced Librariesノードまたはその下のアイテムにある+アイコンまたは-アイコンをクリックするか、jar ライブラリを直接Referenced Libraries
ノードにドラッグすることで、依存関係を管理できます
クラスパス設定ページで依存関係を管理することもできます。参照: 管理されていないフォルダーのクラスパスを設定する
舞台裏では、settings.json
に java.project.referencedLibraries
という設定があります。この設定をカスタマイズする方法の詳細を以下に示します。
ライブラリを含める
参照するライブラリは、一連のグロブパターンを使用して記述されます。
例
"java.project.referencedLibraries": [
"library/**/*.jar",
"/home/username/lib/foo.jar"
]
上記の設定により、ワークスペースのライブラリフォルダー内のすべての .jar
ファイルと、指定された絶対パスからの foo.jar
がプロジェクトの外部依存関係に追加されます。
参照されるライブラリは VS Code によって監視され、これらの依存ファイルに変更があった場合、プロジェクトが更新されます。
デフォルトでは、VS Code はグロブパターン lib/**/*.jar
を使用して、ワークスペースの lib
ディレクトリ内のすべての JAR ファイルを参照します。
一部のライブラリを除外する
プロジェクトから一部のライブラリを除外したい場合は、java.project.referencedLibraries
を展開して include/exclude
フィールドを使用し、exclude
グロブパターンを追加できます。
"java.project.referencedLibraries": {
"include": [
"library/**/*.jar",
"/home/username/lib/foo.jar"
],
"exclude": [
"library/sources/**"
]
}
上記の例では、library/sources
フォルダー内のバイナリ JAR ファイルは、プロジェクトの外部依存関係として無視されます。
ソース jar を添付する
デフォルトでは、参照される {binary}.jar
は、同じディレクトリ内の {binary}-sources.jar
を検索し、一致するものが見つかった場合はソースとして添付しようとします。
JAR ファイルをソース添付ファイルとして手動で指定したい場合は、sources
フィールドにキーと値のマップを提供できます。
"java.project.referencedLibraries": {
"include": [
"library/**/*.jar",
"/home/username/lib/foo.jar"
],
"exclude": [
"library/sources/**"
],
"sources": {
"library/bar.jar": "library/sources/bar-src.jar"
}
}
このようにして、bar-src.jar
は bar.jar にそのソースとして添付されます。
軽量モード
VS Code for Java は、軽量モードと標準モードの2つのモードをサポートしています。軽量モードでは、言語サーバーによってソースファイルとJDKのみが解決されます。標準モードでは、インポートされた依存関係が解決され、プロジェクトは言語サーバーによってビルドされます。軽量モードは、ソースコードの読み取り、ソースコードとJDK間のナビゲーション、アウトラインとJavadocの表示、構文エラーの検出と修正など、ソースファイルを操作するためのクイックスタートと軽量環境が必要な場合に最適です。また、ソースファイルとJDKの範囲内でコード補完がサポートされています。
軽量モードでは、インポートされた依存関係は解決されず、プロジェクトもビルドされないため、実行、デバッグ、リファクタリング、リンティング、セマンティックエラーの検出はサポートされません。これらの機能を利用するには、ワークスペースを軽量モードから標準モードに切り替える必要があります。
以下のオプションを使用して java.server.launchMode
を設定することで、どのモードで起動するかを制御できます。
Hybrid
(デフォルト) - まず、ワークスペースは軽量モードで開かれます。ワークスペースに未解決の Java プロジェクトが含まれている場合、標準モードに切り替えるかどうかを尋ねられます。後でを選択した場合、軽量モードのままになります。ステータスバーの言語ステータスアイテムをクリックして、手動で標準モードに切り替えることができます。Standard
- ワークスペースは標準モードで開かれます。LightWeight
- ワークスペースは軽量モードで開かれます。ステータスバーの言語ステータスアイテムをクリックして、手動で標準モードに切り替えることができます。
言語ステータスアイテムは、現在のワークスペースがどのモードであるかを異なるアイコンで示します。
- - ワークスペースは軽量モードで開かれました。
- - ワークスペースは標準モードで開かれている途中です。
- - ワークスペースは標準モードで開かれました。
言語ステータスアイテムをクリックすると、標準モードに切り替わります。
ビルドステータス
Visual Studio Code で Java ソースコードを編集すると、Java 言語サーバーがワークスペースをビルドして、必要な言語機能を提供します。ステータスバーの言語ステータスアイテムをクリックすると、詳細なビルドタスクの状態を確認し、舞台裏で何が起こっているかを見ることができます。また、言語サーバーが Java プロジェクトを開いていることを示す通知が表示されたときに、詳細を確認リンクを選択して、ビルドタスクの状態を確認することもできます。
追加リソース
Java 用の異なるビルドシステムをサポートするいくつかの Visual Studio Code 拡張機能があります。以下は、いくつかの人気のあるビルドシステム用の拡張機能です。
- Java 用 Maven
- Java 用 Gradle
- Java 用 Bazel (Bazel は
BUILD
ファイル用で、Java 統合なし)
上記の機能を使用中に問題が発生した場合は、課題を提出してお問い合わせください。
次のステップ
詳細については、以下をご覧ください。
- Java の編集 - VS Code の Java 編集機能を探索します。
- Java のデバッグ - VS Code で Java プロジェクトをデバッグする方法をご覧ください。
- Java のテスト - JUnit および TestNG ケースに VS Code を使用します。
- Java拡張機能 - VS Code向けのさらに便利なJava拡張機能について学びます。