Visual Studio Code 中的 Java

Visual Studio Code 對 Java 的支援是透過廣泛的 延伸模組 (extensions) 來提供的。結合 VS Code 核心的強大功能,這些延伸模組為您提供了一個輕量且高效能的程式碼編輯器,同時支援許多最常見的 Java 開發技術。

本文將概述 Visual Studio Code 對 Java 開發人員提供的各項功能。若要快速了解如何在 Visual Studio Code 中編輯、執行和偵錯 Java 程式,請使用下方的Java 入門教學課程按鈕。

Java 入門教學課程

總覽

VS Code 提供關鍵的語言功能,例如程式碼完成、重構、程式碼檢查 (linting)、格式化和程式碼片段,以及方便的偵錯與單元測試支援。VS Code 也與 Maven、Tomcat、Jetty 和 Spring Boot 等工具與框架整合。藉由 Visual Studio Code 的強大功能,Java 開發人員可以獲得一套出色的工具,不僅適用於快速編輯程式碼,也能完成完整的偵錯與測試循環。如果您正在尋找具備以下特點的 Java 開發工具,VS Code 將是您的絕佳選擇:

  • 快速、輕量、免費且開源。
  • 不僅支援 Java,還支援許多其他程式語言。
  • 無需安裝和學習複雜的 IDE 即可開始您的 Java 之旅。
  • 提供強大的微服務支援,包含熱門框架、容器工具和雲端整合。
  • 提供團隊協作功能,例如 Visual Studio Live Share
  • 透過 IntelliSense 和其他具備程式碼感知能力的編輯功能,提升您的生產力。

安裝 Java 版 Visual Studio Code

為了協助您快速完成設定,我們建議您使用 Java 編碼套件 (Coding Pack for Java),這是一個包含 VS Code、Java 開發工具組 (JDK) 以及一系列由 Microsoft 建議之延伸模組的組合包。該編碼套件也可用於修復現有的開發環境。

安裝 Java 編碼套件 - Windows

安裝 Java 編碼套件 - macOS

注意:Java 編碼套件僅適用於 Windows 和 macOS。若使用其他作業系統,您需要手動安裝 JDK、VS Code 和 Java 延伸模組。

如果您已經安裝了 VS Code 並希望在其中加入 Java 支援,我們建議使用 Java 延伸模組套件 (Extension Pack for Java),這是一組由 Microsoft 建議的延伸模組集合。

  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 延伸模組,將 Java 語言支援新增至 VS Code。

下載 VS Code - 如果您尚未下載 VS Code,請針對您的平台(Windows、macOS、Linux)快速進行安裝。

您也可以根據自身需求,選擇其他熱門的 Java 延伸模組,包括:

  1. Spring Boot 延伸模組套件
  2. Gradle for Java
  3. Community Server Connectors(用於 Apache Felix、Karaf、Tomcat、Jetty 等)
  4. Server Connector(Red Hat 伺服器,例如 Wildfly)
  5. MicroProfile 延伸模組套件
  6. CheckStyle
  7. SonarLint

得益於 VS Code 周邊活躍的 Java 社群,清單不僅止於此。您可以輕鬆地在 VS Code 內搜尋更多 Java 延伸模組:

  1. 前往延伸模組檢視 (⇧⌘X (Windows, Linux Ctrl+Shift+X))。
  2. 輸入 "java" 以篩選延伸模組清單。

本文將描述這些 Java 延伸模組所包含的部分關鍵功能。

注意:為協助您開啟 Java 開發之旅,您可以使用 Java 一般設定檔範本 (Java General profile template) 來安裝實用的延伸模組。您可以造訪 VS Code 中的設定檔 (Profiles in VS Code),進一步了解設定檔以及如何運用它們針對不同的程式語言與工作流程快速重新設定您的編輯器。

入門指南

注意:如果您在 Windows 上使用 VS Code 並希望利用 Windows 的 Linux 子系統 (WSL),請參閱 在 WSL 中進行開發 (Developing in WSL)

安裝 Java 開發工具組 (JDK)

Java 開發工具組 (JDK) 是用於開發 Java 應用程式的軟體開發環境。為了在 Visual Studio Code 中執行 Java,您需要安裝 JDK。Java 延伸模組套件支援 Java 1.8 或更高版本。

我們建議您考慮從以下來源安裝 JDK:

注意:如果您安裝了多個 JDK 且需要為專案指定特定版本,請參閱 設定專案執行階段 (Configure Runtime for Projects)。若要啟用 Java 預覽功能,請參閱 如何使用 VS Code 搭配新的 Java 版本

對於 Java 或 VS Code 的新手,我們在延伸模組中提供了一些提示。安裝 Java 延伸模組套件後,您可以透過 VS Code 命令選擇區 (Command Palette) 中的 Java: Tips for Beginners 命令來查看這些提示。

開啟命令選擇區 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 並輸入 "java tips" 以選擇該命令。

Java Getting Started

使用 Java 原始程式碼檔案

您可以使用 VS Code 讀取、寫入、執行和偵錯 Java 原始檔案,而無需建立專案。VS Code 的 Java 支援兩種模式:輕量模式 (lightweight) 與標準模式 (standard)。輕量模式適用於僅處理原始檔案的情境。如果您想處理大型完整專案,則需要使用標準模式。需要時,您可以輕鬆地在兩種模式間切換。若要了解更多資訊,請參閱 輕量模式 (Lightweight Mode)

使用 Java 專案

要在 VS Code 中使用 Java,您必須了解以下三件事:

  1. VS Code 如何處理工作區 (Workspaces)?
  2. VS Code 如何處理 Java?
  3. VS Code 如何處理包含 Java 的工作區?

VS Code 工作區

在 Visual Studio Code 中,「工作區」是指一個或多個檔案系統資料夾(及其子資料夾)的集合,以及當該工作區在 VS Code 中開啟時生效的所有 VS Code 設定。VS Code 中有兩種工作區:「資料夾工作區」和「多根目錄工作區」。

「資料夾工作區」是當您在 VS Code 中開啟一個檔案系統資料夾(目錄)時所呈現的工作區。

「多根目錄工作區」可以參照來自檔案系統不同部分的的多個資料夾(目錄),且 VS Code 會在 檔案總管 (File Explorer) 中將該工作區的資料夾內容顯示在一起。若要了解更多資訊,請參閱 多根目錄工作區 (Multi-root Workspaces)

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 提供支援,該延伸模組利用 M2Eclipse 提供 Maven 支援,並利用 Buildship 透過 Eclipse JDT 語言伺服器提供 Gradle 支援。

透過 Maven for Java,您可以從 Maven 原型 (Archetypes) 產生專案,瀏覽工作區內的所有 Maven 專案,並從嵌入式總管中輕鬆執行 Maven 目標。專案也可以使用 Project Manager for Java 延伸模組來建立與管理。

Visual Studio Code 也支援處理 Java 專案以外的獨立 Java 檔案,詳情請見Java 入門 (Getting Started with Java) 教學課程。

包含 Java 專案的 VS Code 工作區

假設已安裝必要的 Java 延伸模組,開啟包含 Java 構件 (artifacts) 的 VS Code 工作區時,這些延伸模組將會辨識這些構件並提供處理它們的選項。

關於 Java 專案支援的更多詳情,請參閱 Visual Studio Code 中的 Java 專案管理 以及 Java 建置工具

編輯

程式碼導覽

Visual Studio Code 中的 Java 也支援原始碼導覽功能,例如搜尋符號、預覽定義 (Peek Definition) 和跳轉至定義 (Go to Definition)。Spring Boot Tools 延伸模組為 Spring Boot 專案提供了增強的導覽和程式碼完成支援。

VS Code 的主要優勢之一是速度。當您開啟 Java 原始檔案或資料夾時,在 輕量模式 (Lightweight Mode) 的協助下,幾秒鐘內您就可以透過「大綱 (Outline)」檢視以及「跳轉至定義 (Go to Definition)」和「跳轉至參考 (Go to Reference)」等命令來瀏覽程式碼庫。這在第一次開啟專案時特別有用。

程式碼完成

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 extension in the VS Code Marketplace

GitHub Copilot 針對眾多語言和各式各樣的框架提供建議,對於 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++ 尤其有效。

您可以在 Copilot 說明文件中了解更多關於 Copilot 的入門資訊。

程式碼片段

Visual Studio Code 支援多種熱門的 Java 程式碼片段以提升您的生產力,例如 class/interface、syserr、sysout、if/else、try/catch、static main 方法等。利用來自 Java 語言伺服器的資訊,它還能在選取過程中提供程式碼片段的預覽。

例如,輸入 "sout" 或 "sysout" 將會產生 System.out.println() 的程式碼片段。
同樣地,輸入 "main" 或 "psvm" 將會產生 public static void main(String[] args) {} 的程式碼片段。

我們支援廣泛的程式碼片段捷徑與後置完成 (postfix completion) 功能。若要查看完整清單,請參閱 程式碼片段 (Code Snippets)。VS Code 還支援一系列重構 (Refactoring)程式碼檢查 (Linting) 功能。

Code Snippet

偵錯

Debugger for Java 是一個基於 Java Debug Server 的輕量級 Java 偵錯器。它與 Language Support for Java™ by Red Hat 協同運作,讓使用者能夠在 Visual Studio Code 中對 Java 程式碼進行偵錯。

啟動偵錯工作階段非常簡單:點擊 main() 函數 CodeLens 上方的 Run|Debug 按鈕,或按下 F5。偵錯器會自動為您產生正確的設定。

儘管輕量,Java 偵錯器仍支援進階功能,例如表達式評估 (expression evaluation)、條件中斷點 (conditional breakpoints) 和 Hot Code Replace。如需更多與偵錯相關的資訊,請造訪 Java 偵錯 (Java Debugging)

測試

Test Runner for Java 延伸模組的支援下,您可以輕鬆執行、偵錯和管理您的 JUnit 與 TestNG 測試案例。

若要了解更多關於測試的資訊,請閱讀 測試 Java (Testing Java)

Spring Boot、Tomcat 和 Jetty

為了進一步提升您在 VS Code 中的 Java 生產力,社群為大多數熱門的框架與工具(例如 Spring BootTomcatJetty)開發了對應的延伸模組。

參閱 應用程式伺服器 (Application Servers) 以深入了解 VS Code 對 Tomcat、Jetty 以及其他應用程式伺服器的支援。

Spring Boot 支援由 VMware 提供。此外,還有由 Microsoft 提供的 Spring Initializr Java SupportSpring Boot Dashboard 延伸模組,可進一步提升您在 Visual Studio Code 中使用 Spring Boot 的體驗。

參閱 VS Code 中的 Spring Boot 以深入了解 VS Code 對 Spring Boot 的支援;此外,若要了解如何從 VS Code 將 Spring 應用程式部署到 Azure,請參閱 部署至 Azure Web Apps部署至 Azure Spring Apps

後續步驟

深入了解 VS Code 中的 Java

閱讀下方內容以了解更多關於 Visual Studio Code 的資訊

© . This site is unofficial and not affiliated with Microsoft.