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 およびその他のコード認識編集機能を通じて生産性を向上させる。
Java 向け Visual Studio Code のインストール
迅速なセットアップを支援するために、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を使用することをお勧めします。
- Red Hat による Language Support for Java™
- Debugger for Java
- Test Runner for Java
- Maven for Java
- Project Manager for Java
- Visual Studio IntelliCode
Extension Pack for Java をインストールする
または、人気のある Java 拡張機能を自分でインストールして、Java 言語サポートを VS Code に追加することもできます。
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 サーバー、例: 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 バージョンで Visual Studio Code を使用するにはどうすればよいですかを参照してください。
Java または VS Code を初めて使用する開発者向けに、拡張機能でいくつかのヒントを提供しています。Extension Pack for Javaをインストールしたら、VS Code のコマンドパレットから [Java: 初心者向けのヒント] コマンドを使用してヒントを確認できます。
コマンドパレットを開き (⇧⌘P (Windows、Linux Ctrl+Shift+P))、「java tips」と入力してコマンドを選択します。
Java ソースファイルの操作
VS Code を使用すると、プロジェクトを作成せずに Java ソースファイル (複数可) を読み取り、書き込み、実行、およびデバッグできます。Java 用 VS Code は、軽量モードと標準モードの 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 はワークスペースのフォルダーの内容をファイルエクスプローラーにまとめて表示します。詳細については、マルチルートワークスペースを参照してください。
VS Code の Java プロジェクト
IntelliJ IDEA、NetBeans、Eclipse などの IDE とは対照的に、「Java プロジェクト」の概念は拡張機能によって完全に提供され、ベース VS Code のコアコンセプトではありません。VS Code で「Java プロジェクト」を操作する場合は、それらのプロジェクトファイルを操作するために必要な拡張機能がインストールされている必要があります。
たとえば、Maven、Eclipse、および Gradle Java プロジェクトは、Maven サポートを提供するM2Eclipseと、Eclipse JDT Language Serverを介して Gradle サポートを提供するBuildshipを利用することにより、Red Hat による Language Support for Java™を通じてサポートされています。
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 は、Red Hat による Language Support for Java™を通じて 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 は、class/interface、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 デバッガーです。Red Hat による Language Support for Java™と連携して、ユーザーが Visual Studio Code 内で Java コードをデバッグできるようにします。
デバッグセッションの開始は簡単です。main()
関数の CodeLens で利用可能な [実行|デバッグ] ボタンをクリックするか、F5 キーを押します。デバッガーは、適切な構成を自動的に生成します。
軽量ですが、Java デバッガーは、式の評価、条件付きブレークポイント、ホットコードリプレイスなどの高度な機能をサポートしています。デバッグ関連の詳細については、Java デバッグを参照してください。
テスト
Test Runner for Java拡張機能のサポートにより、JUnit および TestNG テストケースを簡単に実行、デバッグ、および管理できます。
テストの詳細については、Java テストをお読みください。
Spring Boot、Tomcat、および Jetty
VS Code での Java の生産性をさらに向上させるために、コミュニティによって作成されたSpring Boot、Tomcat、およびJettyなどの最も一般的なフレームワークとツールの拡張機能があります。
VS Code での Tomcat および Jetty のサポート、ならびにその他のアプリケーションサーバーの詳細については、アプリケーションサーバーを参照してください。
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 エディターについて学びます。
- コードナビゲーション - ソースコードをすばやく移動します。
- タスク - タスクを使用してプロジェクトをビルドするなど
- デバッグ - プロジェクトでデバッガーを使用する方法を見つけます