VS Codeのエージェントモードを拡張するには、を試してください!

Visual Studio Code での Java

Visual Studio Code の Java のサポートは、幅広い拡張機能を通じて提供されます。VS Code のコア機能と組み合わせることで、これらの拡張機能は、多くの最も一般的な Java 開発手法もサポートする、軽量でパフォーマンスの高いコードエディターを提供します。

この記事では、Java 開発者向けの Visual Studio Code のさまざまな機能の概要を説明します。Visual Studio Code で Java プログラムを編集、実行、デバッグする簡単なチュートリアルについては、以下のJava 入門チュートリアルボタンを使用してください。

Java 入門チュートリアル

概要

VS Code は、コード補完、リファクタリング、Linting、書式設定、コードスニペットなどの必須の言語機能と、便利なデバッグおよび単体テストのサポートを提供します。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 は、既存の開発環境を修正するためにも使用できます。

Java 用 Coding Pack のインストール - Windows

Java 用 Coding Pack のインストール - macOS

注意: Coding Pack for Java は Windows と macOS でのみ利用可能です。他のオペレーティングシステムでは、JDK、VS Code、および Java 拡張機能を手動でインストールする必要があります。

すでに VS Code をインストールしており、Java サポートを追加したい場合は、Microsoft が推奨する拡張機能のコレクションであるExtension Pack for Java の使用をお勧めします。

  1. Language Support for Java™ by Red Hat
  2. Debugger for Java
  3. Test Runner for Java
  4. Maven for Java
  5. Project Manager for Java
  6. Visual Studio IntelliCode

Extension Pack for Javaをインストールする

または、人気のある Java 拡張機能を自分でインストールすることで、VS Code に Java 言語サポートを追加できます。

VS Code のダウンロード - まだ VS Code をダウンロードしていない場合は、ご使用のプラットフォーム (Windows、macOS、Linux) 用にすぐにインストールしてください。

ご自身のニーズに合わせて選択できる、他にも人気のある Java 拡張機能があります。これには以下が含まれます:

  1. Spring Boot Extension Pack
  2. Gradle for Java
  3. Community Server Connectors (Apache Felix、Karaf、Tomcat、Jetty など向け)
  4. Server Connector (Red Hat サーバー、例: Wildfly)
  5. Extension Pack for MicroProfile
  6. CheckStyle
  7. SonarLint

VS Code 周りの素晴らしい Java コミュニティのおかげで、リストはこれだけにとどまりません。VS Code 内でさらに多くの Java 拡張機能を簡単に検索できます。

  1. 拡張機能ビューに移動します (⇧⌘X (Windows、Linux Ctrl+Shift+X))。
  2. "java" と入力して拡張機能リストをフィルターします。

このドキュメントでは、これらの Java 拡張機能に含まれる主要な機能の一部について説明します。

: Java 開発を開始するのに役立つように、Java General プロファイル テンプレートを使用して便利な拡張機能をインストールできます。プロファイルと、それらが VS Code でさまざまなプログラミング言語やワークフロー用にエディターをすばやく再構成する方法については、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 をインストールすることをお勧めします。

注意: 複数の 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 Getting Started

Java ソースファイルの操作

プロジェクトを作成せずに、VS Code を使用して Java ソースファイルを読み書き、実行、デバッグできます。VS Code for Java は、軽量モードと標準モードの 2 つのモードをサポートしています。軽量モードは、ソースファイルのみを扱うシナリオに最適です。本格的なプロジェクトで作業したい場合は、標準モードが必要になります。必要に応じて、軽量モードから標準モードに簡単に切り替えることができます。詳細については、軽量モードを参照してください。

Java プロジェクトの操作

VS Code で Java を操作するには、理解すべき 3 つのことがあります。

  1. VS Code はワークスペースをどのように扱いますか?
  2. VS Code は Java をどのように扱いますか?
  3. 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 プロジェクトは、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 は、シンボルの検索、Peek Definition、Go to Definition などのソースコードナビゲーション機能もサポートしています。Spring Boot Tools 拡張機能は、Spring Boot プロジェクトのナビゲーションとコード補完のサポートを強化します。

VS Code の主要な利点の 1 つは速度です。Java ソースファイルまたはフォルダーを開くと、軽量モードの助けを借りて、数秒以内にアウトラインビューや、Go to DefinitionGo to Reference などのコマンドを使用してコードベースをナビゲートできるようになります。これは、初めてプロジェクトを開く場合に特に役立ちます。

コード補完

IntelliSense は、すべてのファイルおよび組み込みモジュールとサードパーティモジュールの両方に対するインテリジェントなコード補完 (コンテキスト内でのメソッドと変数の提案) を含む、言語機能の総称です。VS Code は、Language Support for Java™ by Red Hat を通じて Java のコード補完と IntelliSense をサポートしています。また、最も使用頻度の高いものを補完リストの先頭に配置することで、AI 支援の IntelliSense であるIntelliCode も提供しています。

AI で補完を強化する

GitHub Copilot は、より速くスマートにコードを作成するのに役立つ AI 搭載のコード補完ツールです。VS Code のGitHub Copilot 拡張機能を使用して、コードを生成したり、生成されたコードから学習したりできます。

GitHub Copilot extension in the VS Code Marketplace

GitHub Copilot は、多数の言語とさまざまなフレームワークで提案を提供し、特に Python、JavaScript、TypeScript、Ruby、Go、C#、および C++ でうまく機能します。

Copilot の使用開始方法については、Copilot ドキュメントで詳しく学ぶことができます。

コードスニペット

Visual Studio Code は、class/interface、syserr、sysout、if/else、try/catch、static main method など、さまざまな人気の Java コードスニペットをサポートしており、生産性を向上させます。Java 言語サーバーからの情報を使用して、選択中にコードスニペットのプレビューも提供します。

たとえば、「sout」または「sysout」と入力すると、System.out.println() のコードスニペットが生成されます。
同様に、「main」または「psvm」と入力すると、public static void main(String[] args) {} のコードスニペットが生成されます。

幅広いコードスニペットのショートカットとポストフィックス補完機能をサポートしています。完全なリストについては、コードスニペットを参照してください。VS Code はまた、さまざまなリファクタリングおよびLinting機能をサポートしています。

Code Snippet

デバッグ

Debugger for Java は、Java Debug Server に基づく軽量な Java デバッガーです。Language Support for Java™ by Red Hat と連携して、Visual Studio Code 内で Java コードをデバッグできるようにします。

デバッグセッションを開始するのは簡単です。main() 関数 CodeLens にある実行 | デバッグボタンをクリックするか、F5 キーを押します。デバッガーは自動的に適切な構成を生成します。

軽量ですが、Java デバッガーは式評価、条件付きブレークポイント、ホットコード置き換えなどの高度な機能をサポートしています。デバッグ関連の詳細については、Java デバッグを参照してください。

テスト

Test Runner for Java 拡張機能のサポートにより、JUnit および TestNG のテストケースを簡単に実行、デバッグ、管理できます。

テストの詳細については、Java のテストを参照してください。

Spring Boot、Tomcat、および Jetty

VS Code での Java の生産性をさらに向上させるために、Spring BootTomcatJetty など、コミュニティによって作成された最も人気のあるフレームワークやツールの拡張機能があります。

Tomcat と Jetty のサポート、および VS Code でのその他のアプリケーションサーバーの詳細については、アプリケーションサーバーを参照してください。

Spring Boot のサポートはVMware によって提供されています。また、Visual Studio Code での Spring Boot のエクスペリエンスをさらに向上させるために、Microsoft が提供するSpring Initializr Java Support およびSpring Boot Dashboard 拡張機能もあります。

VS Code での Spring Boot サポートの詳細については、VS Code での Spring Boot を、VS Code から Azure に Spring アプリをデプロイする方法の詳細については、Azure Web Apps へのデプロイまたはAzure Spring Apps へのデプロイを参照してください。

次のステップ

VS Code での Java の詳細

Visual Studio Code の詳細については、引き続きお読みください。