在 VS Code 中管理 Java 專案
Java 專案管理員擴充功能可協助您管理 Java 專案及其相依性。它也有助於建立新的 Java 專案、套件和類別。若要在 Visual Studio Code 中取得完整的 Java 語言支援,您可以安裝Java 擴充功能套件,其中包含 Java 專案管理員擴充功能。
如需如何開始使用擴充功能套件的詳細資訊,您可以檢閱Java 入門教學課程。
專案檢視
Java 專案檢視可協助您檢視 Java 專案及其相依性,並提供專案管理工作的進入點。
根據預設,Java 專案檢視會顯示在總管檢視下方。如果您看不到它,請嘗試按一下總管標題列中的
...
按鈕,然後選取Java 專案。
在導覽列的溢位按鈕中,有更多選項可供使用。例如,您可以在階層式檢視和平面檢視之間切換。
您可以在總管中的節點旁邊找到按鈕,這些按鈕提供一些動作的實用捷徑。
每個節點的內容功能表中也有許多實用功能,您可以按一下滑鼠右鍵總管中的節點以切換出來。
建立新的 Java 專案
您可以按一下導覽列中的 + 按鈕,或透過命令:命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中的Java:建立 Java 專案...來建立新的 Java 專案。在建立期間,VS Code 將協助安裝每個專案類型所需的擴充功能,如果尚未安裝這些擴充功能。
匯入 Java 專案
您可以透過檔案 > 開啟資料夾...直接將現有的 Java 專案和模組匯入至您的工作區 (請確定開啟的資料夾包含您的建置工具指令碼,例如 pom.xml
或 build.gradle
)。適用於 Java 的 VS Code 將偵測您的專案並自動匯入它們。
當您將新模組新增至專案時,您可以觸發Java:匯入工作區中的 Java 專案命令,將它們匯入至您的工作區。此命令有助於將新專案匯入工作區,而無需重新載入 VS Code 視窗。
匯出至 JAR
您可以從專案檢視或執行命令Java:匯出 Jar...,將您的建置匯出至 JAR。
設定專案的執行階段
隨著 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 用於您的專案,您可以在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中觸發命令Java:設定 Java 執行階段。此命令會開啟一個檢視,顯示專案的執行階段資訊
變更 Maven 和 Gradle 專案的 JDK
如果您想要變更 Maven 或 Gradle 專案的 JDK 版本,您需要在您的建置指令碼 (pom.xml
或 build.gradle
) 中更新它。您可以按一下 以查看如何進行此類變更。按一下 將會導覽至專案的建置指令碼檔案。
變更未受管理資料夾的 JDK
若要變更未受管理資料夾 (沒有任何建置工具) 的 JDK,您可以按一下 按鈕。它將列出所有 JDK,您可以為您的未受管理資料夾選取一個。
下載 JDK
如果您想要下載新的 JDK,您可以按一下 download
連結,或在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中觸發命令Java:安裝新的 JDK。它將開啟一個新的檢視,引導您下載 JDK。
注意:若要啟用 Java 預覽功能,請參閱如何在新的 Java 版本中使用 VS Code。
設定未受管理資料夾的類別路徑
Java 專案管理擴充功能提供使用者介面,以設定未受管理資料夾的類別路徑。可以在類別路徑組態頁面中手動設定類別路徑。您可以從命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行Java:設定類別路徑命令來開啟它。
在某些罕見的情況下,您可能需要透過從命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行Java:清除 Java 語言伺服器工作區命令來清除 Java 工作區,讓語言伺服器重建您的相依性。
相依性管理
新增 Maven 相依性
對於 Maven 專案,您可以按一下專案檢視中 Maven 相依性節點旁邊的 + 圖示來新增相依性。
管理未受管理資料夾的相依性
如果您的專案是沒有任何建置工具的未受管理資料夾。您可以按一下 參考程式庫 節點或其下的項目上的 + 圖示或 - 圖示來管理相依性,或者您可以直接將您的 jar 程式庫拖曳到節點 參考程式庫
您也可以在類別路徑組態頁面中管理相依性。請參閱:設定未受管理資料夾的類別路徑
在幕後,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 作為其來源。
輕量模式
適用於 Java 的 VS Code 支援兩種模式,輕量模式和標準模式。在輕量模式下,語言伺服器僅解析原始碼檔案和 JDK;在標準模式下,語言伺服器會解析匯入的相依性並建置專案。當您需要快速入門且輕量的環境來處理原始碼檔案時,輕量模式最適合,例如,讀取原始碼、在原始碼和 JDK 之間導覽、檢視大綱和 Javadoc,以及偵測和修正語法錯誤。此外,程式碼完成功能在原始碼檔案和 JDK 的範圍內受到支援。
輕量模式不會解析匯入的相依性也不會建置專案,因此它不支援執行、偵錯、重構、程式碼檢查或偵測語意錯誤。若要使這些功能可用,您需要將您的工作區從輕量模式切換到標準模式。
您可以透過使用以下選項設定 java.server.launchMode
來控制要啟動的模式
Hybrid
(預設) - 首先,以輕量模式開啟工作區。如果您的工作區包含未解析的 Java 專案,系統會詢問您是否要切換到標準模式。如果您選擇稍後,它將保持在輕量模式。您可以按一下狀態列上的語言狀態項目,手動切換到標準模式。Standard
- 以標準模式開啟工作區。LightWeight
- 以輕量模式開啟工作區。您可以按一下狀態列上的語言狀態項目,手動切換到標準模式。
語言狀態項目會使用不同的圖示指示目前工作區所處的模式。
- - 以輕量模式開啟的工作區。
- - 以標準模式開啟工作區的處理中。
- - 以標準模式開啟的工作區。
按一下語言狀態項目會切換到標準模式。
建置狀態
當您在 Visual Studio Code 中編輯 Java 原始碼時,Java 語言伺服器正在建置您的工作區,以便為您提供必要的語言功能。您可以按一下狀態列中的語言狀態項目,查看詳細的建置工作狀態並監看幕後發生的事情。當通知顯示語言伺服器正在開啟 Java 專案時,您也可以選取檢查詳細資訊連結,以查看建置工作狀態。
其他資源
有幾個 Visual Studio Code 擴充功能支援 Java 的不同建置系統。以下是幾個熱門建置系統的擴充功能。
- 適用於 Java 的 Maven
- 適用於 Java 的 Gradle
- 適用於 Java 的 Bazel (Bazel 適用於
BUILD
檔案,沒有 Java 整合))
如果您在使用上述功能時遇到任何問題,您可以提出問題與我們聯絡。
後續步驟
繼續閱讀以深入瞭解