Visual Studio Code での Java
Visual Studio Code での Java のサポートは、広範な拡張機能を通じて提供されます。これらの拡張機能をコア VS Code の機能と組み合わせることで、最も一般的な Java 開発手法の多くをサポートする、軽量で高パフォーマンスなコード エディターが実現します。
この記事では、Java 開発者向けの Visual Studio Code のさまざまな機能の概要を説明します。Visual Studio Code を使用した Java プログラムの編集、実行、デバッグの簡単なチュートリアルについては、以下の Java 入門チュートリアル ボタンを使用してください。
概要
VS Code は、コード補完、リファクタリング、Lint 化、書式設定、コード スニペットなどの基本的な言語機能に加えて、便利なデバッグおよび単体テストのサポートを提供します。また、VS Code は、Maven、Tomcat、Jetty、Spring Boot などのツールやフレームワークとも統合されます。Visual Studio Code の能力を活用することで、Java 開発者は、簡単なコード編集から完全なデバッグおよびテスト サイクルまで対応できる優れたツールを手に入れることができます。次のようなツールをお探しの場合は、Java 開発に最適な選択肢です。
- 高速、軽量、無料、そしてオープン ソースであること。
- Java だけでなく、他の多くの言語をサポートしていること。
- 複雑な IDE をインストールして学習することなく、Java の旅を始めるのに役立つこと。
- 人気のフレームワーク、コンテナー ツール、クラウド統合など、優れたマイクロサービス サポートを提供すること。
- Visual Studio Live Share などのチームベースのコラボレーション機能を提供すること。
- IntelliSense やその他のコード認識編集機能を通じて生産性を向上させること。
Visual Studio Code for Java のインストール
迅速にセットアップできるよう、VS Code、Java Development Kit (JDK)、および Microsoft が推奨する拡張機能のコレクションをバンドルした Coding Pack for Java の使用をお勧めします。Coding Pack は、既存の開発環境を修正するためにも使用できます。
Coding Pack for Java のインストール - Windows
Coding Pack for Java のインストール - macOS
注: Coding Pack for Java は Windows と macOS でのみ利用可能です。他のオペレーティング システムでは、JDK、VS Code、および Java 拡張機能を手動でインストールする必要があります。
すでに VS Code をインストール済みで Java サポートを追加したい場合は、Microsoft が推奨する拡張機能のコレクションである Extension Pack for Java の使用をお勧めします。
- Language Support for Java™ by Red Hat
- Debugger for Java
- Test Runner for Java
- Maven for Java
- Project Manager for Java
- Visual Studio IntelliCode
Extension Pack for Javaをインストールする
あるいは、人気のある Java 拡張機能を自分でインストールして、VS Code に Java 言語サポートを追加することもできます。
VS Code のダウンロード - まだ VS Code をダウンロードしていない場合は、お使いのプラットフォーム (Windows、macOS、Linux) にすばやくインストールしてください。
ニーズに合わせて選択できる、他にも人気のある Java 拡張機能があります。以下が含まれます。
- Spring Boot Extension Pack
- Gradle for Java
- Community Server Connectors (Apache Felix、Karaf、Tomcat、Jetty など向け)
- Server Connector (Red Hat Servers、たとえば Wildfly)
- Extension Pack for MicroProfile
- CheckStyle
- SonarLint
VS Code を中心とした素晴らしい Java コミュニティのおかげで、リストはこれで終わりではありません。VS Code 内でさらに多くの Java 拡張機能を簡単に検索できます。
- 拡張機能ビュー (⇧⌘X (Windows、Linux Ctrl+Shift+X)) に移動します。
- "java" と入力して拡張機能リストをフィルター処理します。
このドキュメントでは、これらの Java 拡張機能に含まれる主要な機能のいくつかについて説明します。
注: Java 開発を始めるのに役立つように、Java General プロファイル テンプレートを使用して便利な拡張機能をインストールできます。プロファイルの詳細と、それらを使用してさまざまなプログラミング言語やワークフローに合わせてエディターをすばやく再構成する方法については、VS Code のプロファイルを参照してください。
はじめに
注: Windows で VS Code を使用していて、Windows Subsystem for Linux を利用したい場合は、WSL での開発を参照してください。
Java Development Kit (JDK) のインストール
Java Development Kit (JDK) は、Java アプリケーションを開発するためのソフトウェア開発環境です。Visual Studio Code 内で Java を実行するには、JDK をインストールする必要があります。Extension Pack for Java は、Java バージョン 1.8 以上をサポートしています。
JDK は、以下のいずれかのソースからインストールすることをお勧めします。
- Amazon Corretto
- Azul Zulu
- Eclipse Adoptium's Temurin
- IBM Semeru Runtimes
- Microsoft Build of OpenJDK
- Oracle Java SE
- Red Hat build of OpenJDK
- SapMachine
注: 複数の JDK がインストールされており、プロジェクトに特定の JDK バージョンを使用する必要がある場合は、プロジェクトのランタイムの構成を参照してください。Java のプレビュー機能を有効にするには、新しい Java バージョンで VS Code を使用するにはどうすればよいですかを参照してください。
Java や VS Code を初めて使用する開発者向けに、拡張機能でいくつかのヒントを提供しています。Extension Pack for Java をインストールすると、VS Code のコマンド パレットから Java: Tips for Beginners コマンドを使用してヒントを表示できます。
コマンド パレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、"java tips" と入力してコマンドを選択します。
Java ソース ファイルの操作
VS Code を使用して、プロジェクトを作成せずに Java ソース ファイルを読み取り、書き込み、実行、デバッグできます。VS Code for Java は、軽量モードと標準モードの 2 つのモードをサポートしています。軽量モードは、ソース ファイルのみを扱うシナリオに最適です。本格的なプロジェクトで作業したい場合は、標準モードが必要になります。必要に応じて、軽量モードから標準モードに簡単に切り替えることができます。詳細については、軽量モードを参照してください。
Java プロジェクトの操作
VS Code で Java を操作するには、次の 3 つのことを理解する必要があります。
- VS Code はワークスペースをどのように処理しますか?
- VS Code は Java をどのように処理しますか?
- VS Code は Java を含むワークスペースをどのように処理しますか?
VS Code のワークスペース
Visual Studio Code では、「ワークスペース」とは、1 つ以上のファイルシステム フォルダ (およびその子) のコレクションと、その「ワークスペース」が VS Code で開かれているときに有効になるすべての VS Code 構成を意味します。VS Code には、「フォルダ ワークスペース」と「マルチ ルート ワークスペース」の 2 種類の「ワークスペース」があります。
「フォルダ ワークスペース」は、ファイルシステムのフォルダ (ディレクトリ) を VS Code で開いたときに表示されます。
「マルチ ルート ワークスペース」は、ファイルシステムの異なる場所にある複数のフォルダ (ディレクトリ) を参照でき、VS Code はファイル エクスプローラーにワークスペースのフォルダの内容をまとめて表示します。詳細については、マルチ ルート ワークスペースを参照してください。
VS Code の Java プロジェクト
IntelliJ IDEA、NetBeans、Eclipse などの IDE とは対照的に、「Java プロジェクト」の概念は完全に拡張機能によって提供され、基本の VS Code のコア概念ではありません。VS Code で「Java プロジェクト」を操作する場合は、それらのプロジェクト ファイルを操作するために必要な拡張機能がインストールされている必要があります。
たとえば、Maven、Eclipse、Gradle の Java プロジェクトは、Language Support for Java™ by Red Hat を通じてサポートされています。これは、Maven サポートを提供する M2Eclipse と、Eclipse JDT Language Server を介して Gradle サポートを提供する Buildship を利用しています。
Maven for Java を使用すると、Maven Archetypes からプロジェクトを生成したり、ワークスペース内のすべての Maven プロジェクトを閲覧したり、埋め込みエクスプローラーから Maven ゴールを簡単に実行したりできます。プロジェクトは、Project Manager for Java 拡張機能を使用して作成および管理することもできます。
Visual Studio Code は、Java 入門チュートリアルで説明されているように、Java プロジェクト外のスタンドアロン Java ファイルの操作もサポートしています。
Java プロジェクトを含む VS Code ワークスペース
必要な Java 拡張機能がインストールされていると仮定すると、Java アーティファクトを含む VS Code ワークスペースを開くと、それらの拡張機能がそれらのアーティファクトを理解し、それらを操作するためのオプションを提示します。
Java プロジェクトのサポートに関する詳細は、Visual Studio Code での Java プロジェクト管理とJava ビルド ツールで確認できます。
編集
コードナビゲーション
Visual Studio Code の Java は、シンボル検索、定義をここに表示、定義へ移動などのソース コード ナビゲーション機能もサポートしています。Spring Boot Tools 拡張機能は、Spring Boot プロジェクトのナビゲーションとコード補完サポートを強化します。
VS Code の主な利点の 1 つは速度です。Java ソース ファイルまたはフォルダを開くと、数秒以内に 軽量モードの助けを借りて、アウトライン ビューや定義へ移動、参照へ移動などのコマンドでコード ベースをナビゲートできるようになります。これは、プロジェクトを初めて開く場合に特に便利です。
コード補完
IntelliSense は、すべてのファイルと、組み込みおよびサードパーティ モジュールの両方に対するインテリジェントなコード補完 (コンテキストに応じたメソッドと変数の提案) を含む言語機能の総称です。VS Code は、Language Support for Java™ by Red Hat を通じて Java のコード補完と IntelliSense をサポートします。また、使用する可能性が最も高いものを補完リストの先頭に配置することで、IntelliCode と呼ばれる AI 支援の IntelliSense も提供します。
AI で補完を強化する
GitHub Copilot は、より速く、よりスマートにコードを記述するのに役立つ AI 搭載のコード補完ツールです。VS Code の GitHub Copilot 拡張機能を使用して、コードを生成したり、生成されたコードから学習したりできます。
GitHub Copilot は、多数の言語とさまざまなフレームワークで提案を提供し、特に Python、JavaScript、TypeScript、Ruby、Go、C#、および C++ でうまく機能します。
Copilot の使用開始方法については、Copilot ドキュメントで詳しく学ぶことができます。
コードスニペット
Visual Studio Code は、クラス/インターフェイス、syserr、sysout、if/else、try/catch、static main メソッドなど、生産性を向上させるためのさまざまな一般的な Java コード スニペットをサポートしています。Java 言語サーバーからの情報を使用して、選択中にコード スニペットのプレビューも提供します。
たとえば、"sout" または "sysout" と入力すると、System.out.println()
のコード スニペットが生成されます。
同様に、"main" または "psvm" と入力すると、public static void main(String[] args) {}
のコード スニペットが生成されます。
さまざまなコード スニペットのショートカットと後置補完機能をサポートしています。完全なリストについては、コード スニペットを参照してください。VS Code は、さまざまなリファクタリングおよびLint 化機能もサポートしています。
デバッグ
Debugger for Java は、Java Debug Server に基づく軽量な Java デバッガーです。Language Support for Java™ by Red Hat と連携して、ユーザーが Visual Studio Code 内で Java コードをデバッグできるようにします。
デバッグ セッションの開始は簡単です。main()
関数の CodeLens で利用可能な Run|Debug ボタンをクリックするか、F5 を押します。デバッガーは自動的に適切な構成を生成します。
Java デバッガーは軽量ですが、式評価、条件付きブレークポイント、ホット コード置換などの高度な機能をサポートしています。デバッグ関連の詳細については、Java デバッグをご覧ください。
テスト
Test Runner for Java 拡張機能のサポートにより、JUnit および TestNG テスト ケースを簡単に実行、デバッグ、管理できます。
テストの詳細については、Java のテストをお読みください。
Spring Boot、Tomcat、および Jetty
VS Code での Java の生産性をさらに向上させるために、コミュニティによって作成された、Spring Boot、Tomcat、Jetty などの最も人気のあるフレームワークやツール用の拡張機能があります。
Tomcat と Jetty、および VS Code を使用したその他のアプリケーション サーバーのサポートの詳細については、アプリケーション サーバーを参照してください。
Spring Boot のサポートは VMware によって提供されます。また、Microsoft が提供する Spring Initializr Java Support と Spring Boot Dashboard 拡張機能もあり、Visual Studio Code での Spring Boot のエクスペリエンスをさらに向上させます。
VS Code での Spring Boot サポートの詳細については VS Code での Spring Boot を、また VS Code から Azure に Spring アプリをデプロイする方法の詳細については Azure Web Apps へのデプロイまたは Azure Spring Apps へのデプロイを参照してください。
次のステップ
VS Code での Java についてもっと知る
- Java の概要
- コード編集とナビゲーション
- Java デバッグ
- Java のテスト
- Java プロジェクト管理
- VS Code での Spring Boot
- アプリケーションサーバー
- VS Code での Azure
Visual Studio Code の詳細については、以下をお読みください
- 基本的な編集 - 強力な VS Code エディターについて学習します。
- コード ナビゲーション - ソースコード内をすばやく移動します。
- タスク - タスクを使用してプロジェクトなどをビルドする
- デバッグ - プロジェクトでデバッガーを使用する方法を学ぶ