🚀 在 VS Code 中

在 VS Code 中管理 Java 專案

Java 專案管理員擴充功能可協助您管理 Java 專案及其相依性。它也可協助您建立新的 Java 專案、套件和類別。若要在 Visual Studio Code 中取得完整的 Java 語言支援,您可以安裝Java 擴充功能套件,其中包含 Java 專案管理員擴充功能。

安裝 Java 擴充功能套件

如需開始使用擴充功能套件的詳細資訊,您可以檢閱Java 入門教學課程。

專案檢視

Java 專案檢視可協助您檢視 Java 專案及其相依性,並提供專案管理工作的進入點。

project view

預設情況下,Java 專案檢視會顯示在檔案總管檢視下方。如果您看不到它,請嘗試按一下檔案總管標題列中的 ... 按鈕,然後選取Java 專案

在導覽列的溢位按鈕中,還有更多選項可以使用。例如,您可以在階層式檢視和平面檢視之間切換。

overflow button

您可以在檔案總管中節點旁邊找到按鈕,這些按鈕為某些動作提供實用的捷徑。

inline button

每個節點的內容功能表也有許多實用功能,您可以右鍵按一下檔案總管中的節點以切換出來。

context menu

建立新的 Java 專案

您可以按一下導覽列中的 + 按鈕,或透過命令:命令面板中的Java:建立 Java 專案... (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 來建立新的 Java 專案。在建立期間,如果尚未安裝擴充功能,VS Code 將協助安裝每個專案類型所需的擴充功能。

create project

匯入 Java 專案

您可以透過檔案 > 開啟資料夾... 直接將現有的 Java 專案和模組匯入到您的工作區 (請確定開啟的資料夾包含您的建置工具指令碼,例如 pom.xmlbuild.gradle)。VS Code for Java 將會偵測您的專案並自動匯入它們。

當您將新的模組新增至您的專案時,您可以觸發Java:匯入工作區中的 Java 專案命令,將它們匯入到您的工作區。此命令有助於將新專案匯入到工作區,而無需重新載入 VS Code 視窗。

匯出至 JAR

您可以從專案檢視或執行命令 Java:匯出 Jar... 來將您的建置匯出至 JAR。

Export jar from the project view

設定專案的執行階段

隨著 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。預設 JDK 將用於您的未受管理資料夾 (不含建置工具)。

若要查看您的專案使用哪些 JDK,您可以觸發命令面板中的 Java:設定 Java 執行階段 命令 (⇧⌘P (Windows、Linux Ctrl+Shift+P))。此命令會開啟一個檢視,顯示您的專案的執行階段資訊

Project runtime

變更 Maven 和 Gradle 專案的 JDK

如果您想要變更 Maven 或 Gradle 專案的 JDK 版本,您需要在您的建置指令碼 (pom.xmlbuild.gradle) 中更新它。您可以按一下 以查看如何進行這些變更。按一下 將會導覽至專案的建置指令碼檔案。

變更未受管理資料夾的 JDK

若要變更未受管理資料夾 (不含任何建置工具) 的 JDK,您可以按一下 按鈕。它將列出所有 JDK,您可以為您的未受管理資料夾選取一個。

下載 JDK

如果您想要下載新的 JDK,您可以按一下 download 連結,或觸發命令面板中的 Java:安裝新的 JDK 命令 (⇧⌘P (Windows、Linux Ctrl+Shift+P))。它將開啟一個新的檢視,引導您下載 JDK。

Download-jdk

注意:若要啟用 Java 預覽功能,請參閱如何將 Visual Studio Code 與新的 Java 版本搭配使用

設定未受管理資料夾的類別路徑

Java 專案管理擴充功能提供使用者介面來設定未受管理資料夾的類別路徑。可以在類別路徑設定頁面中手動設定類別路徑。您可以從命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行 Java:設定類別路徑 命令來開啟它。

configure classpath

在某些罕見的情況下,您可能需要透過從命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行 Java:清除 Java 語言伺服器工作區 命令來清除 Java 工作區,以讓語言伺服器重建您的相依性。

相依性管理

新增 Maven 相依性

對於 Maven 專案,您可以按一下專案檢視中 Maven 相依性 節點旁邊的 + 圖示來新增相依性。

add maven dependency

管理未受管理資料夾的相依性

如果您的專案是沒有任何建置工具的未受管理資料夾。您可以按一下 參考程式庫 節點或其下方的項目上的 + 圖示或 - 圖示來管理相依性,或者您可以直接將您的 jar 程式庫拖曳到 參考程式庫 節點

manage referenced libraries

您也可以在類別路徑設定頁面中管理相依性。請參閱:設定未受管理資料夾的類別路徑

在幕後,settings.json 中有一個設定 java.project.referencedLibraries。以下是有關如何自訂此設定的詳細資訊。

包含程式庫

要參考的程式庫是使用一組 glob 模式來描述的。

例如

"java.project.referencedLibraries": [
    "library/**/*.jar",
    "/home/username/lib/foo.jar"
]

上述設定會將工作區程式庫資料夾中的所有 .jar 檔案以及指定絕對路徑中的 foo.jar 新增至專案的外部相依性。

然後 VS Code 會監看參考的程式庫,如果任何這些相依檔案發生變更,專案將會重新整理。

預設情況下,VS Code 將使用 glob 模式 lib/**/*.jar 參考工作區 lib 目錄中的所有 JAR 檔案。

排除某些程式庫

如果您想要從專案中排除某些程式庫,您可以展開 java.project.referencedLibraries 以使用 include/exclude 欄位並新增 exclude glob 模式

"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 支援兩種模式:輕量模式和標準模式。在輕量模式下,語言伺服器僅解析原始程式碼檔案和 JDK;在標準模式下,語言伺服器會解析匯入的相依性並建置專案。當您需要快速啟動且輕量的環境來處理您的原始程式碼檔案時,輕量模式最適合,例如,讀取原始程式碼、在原始程式碼和 JDK 之間導覽、檢視大綱和 Javadoc,以及偵測和修正語法錯誤。此外,在原始程式碼檔案和 JDK 的範圍內支援程式碼完成。

輕量模式不會解析匯入的相依性或建置專案,因此它不支援執行、偵錯、重構、程式碼檢查或偵測語意錯誤。若要使用這些功能,您需要將您的工作區從輕量模式切換到標準模式。

您可以透過使用以下選項設定 java.server.launchMode 來控制要啟動的模式

  • Hybrid (預設) - 首先,以輕量模式開啟工作區。如果您的工作區包含未解析的 Java 專案,系統會詢問您是否要切換到標準模式。如果您選擇稍後,它將保持在輕量模式。您可以按一下狀態列上的語言狀態項目,手動切換到標準模式。
  • Standard - 以標準模式開啟工作區。
  • LightWeight - 以輕量模式開啟工作區。您可以按一下狀態列上的語言狀態項目,手動切換到標準模式。

語言狀態項目使用不同的圖示來指示目前工作區所處的模式。

  • - 以輕量模式開啟的工作區。
  • - 工作區正在以標準模式開啟的過程中。
  • - 以標準模式開啟的工作區。

按一下語言狀態項目會切換到標準模式。

Switch to Standard

建置狀態

當您在 Visual Studio Code 中編輯 Java 原始程式碼時,Java 語言伺服器正在建置您的工作區,以為您提供必要的語言功能。您可以透過按一下狀態列中的語言狀態項目來查看詳細的建置工作狀態並監看幕後發生的事情。當通知顯示語言伺服器正在開啟 Java 專案時,您也可以選取檢查詳細資訊連結以查看建置工作狀態。

其他資源

有幾個 Visual Studio Code 擴充功能支援 Java 的不同建置系統。以下是幾個熱門建置系統的擴充功能。

如果您在使用上述功能時遇到任何問題,您可以透過提交 issue 與我們聯絡。

後續步驟

繼續閱讀以深入了解

  • Java 編輯 - 探索 VS Code 中 Java 的編輯功能。
  • Java 偵錯 - 了解如何使用 VS Code 偵錯您的 Java 專案。
  • Java 測試 - 將 VS Code 用於您的 JUnit 和 TestNG 案例。
  • Java 擴充功能 - 了解更多適用於 VS Code 的實用 Java 擴充功能。