在 VS Code 中管理 Java 專案
Project Manager for Java 擴充套件可幫助您管理 Java 專案及其依賴項。它還可以幫助您建立新的 Java 專案、包和類。要在 Visual Studio Code 中獲得完整的 Java 語言支援,您可以安裝 Extension Pack for Java,其中包括 Project Manager for Java 擴充套件。
有關如何開始使用該擴充套件包的詳細資訊,您可以檢視 Java 入門教程。
專案檢視
Java 專案檢視可幫助您檢視 Java 專案及其依賴項,併為專案管理任務提供入口。
預設情況下,Java 專案檢視顯示在資源管理器檢視下方。如果看不到它,請嘗試單擊資源管理器標題欄中的
...
按鈕,然後選擇 Java 專案。
在導航欄的溢位按鈕中,有更多選項可供使用。例如,您可以在分層檢視和扁平檢視之間切換。
您可以在資源管理器中的節點旁邊找到一些按鈕,這些按鈕為某些操作提供了有用的快捷方式。
每個節點的上下文選單中也有許多有用的功能,您可以在資源管理器中右鍵單擊該節點以將其彈出。
建立一個新的 Java 專案
您可以透過單擊導航欄中的 + 按鈕,或透過命令面板(⇧⌘P (Windows、Linux Ctrl+Shift+P))中的命令 Java: Create Java Project... 來建立新的 Java 專案。在建立過程中,如果尚未安裝所需的擴充套件,VS Code 將根據您的專案型別幫助安裝它們。
匯入 Java 專案
您可以透過檔案 > 開啟資料夾... 直接將現有的 Java 專案和模組匯入到您的工作區中(請確保開啟的資料夾包含您的構建工具指令碼,例如 pom.xml
或 build.gradle
)。VS Code for Java 將檢測您的專案並自動匯入它們。
當您向專案中新增新模組時,可以觸發命令 Java: Import Java projects in workspace 將它們匯入到您的工作區中。此命令有助於將新專案匯入工作區,而無需重新載入 VS Code 視窗。
匯出到 JAR
您可以從專案檢視或透過執行命令 Java: Export 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: Configure Java Runtime。此命令會開啟一個檢視,顯示您專案的執行時資訊。
更改 Maven 和 Gradle 專案的 JDK
如果您想為 Maven 或 Gradle 專案更改 JDK 版本,您需要在構建指令碼(pom.xml
或 build.gradle
)中進行更新。您可以單擊 檢視如何進行此類更改。單擊 將導航到專案的構建指令碼檔案。
更改非託管資料夾的 JDK
要更改非託管資料夾(沒有任何構建工具)的 JDK,您可以單擊 按鈕。它將列出所有 JDK,您可以為您的非託管資料夾選擇一個。
下載 JDK
如果您想下載一個新的 JDK,可以點選 download
連結,或在命令面板(⇧⌘P (Windows、Linux Ctrl+Shift+P))中觸發命令 Java: Install New JDK。它將開啟一個新檢視,引導您下載 JDK。
注意:要啟用 Java 預覽功能,請參閱如何在 VS Code 中使用新的 Java 版本。
為非託管資料夾配置類路徑
Project Management for Java 擴充套件提供了一個使用者介面來為非託管資料夾配置類路徑。可以在類路徑配置頁面手動設定類路徑。您可以透過命令面板(⇧⌘P (Windows、Linux Ctrl+Shift+P))執行 Java: Configure Classpath 命令來開啟它。
在某些極少數情況下,您可能需要透過從命令面板(⇧⌘P (Windows、Linux Ctrl+Shift+P))執行 Java: Clean Java Language Server Workspace 命令來清理 Java 工作區,以讓語言伺服器重建您的依賴項。
依賴管理
新增 Maven 依賴
對於 Maven 專案,您可以透過單擊專案檢視中 Maven Dependencies 節點旁邊的 + 圖示來新增依賴項。
管理非託管資料夾的依賴項
如果您的專案是一個沒有任何構建工具的非託管資料夾,您可以透過單擊引用庫節點或其下專案上的 + 圖示或 - 圖示來管理依賴項,或者您可以直接將您的 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 上。
輕量模式
VS Code for Java 支援兩種模式:輕量模式和標準模式。在輕量模式下,語言伺服器僅解析原始檔和 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
- Bazel for Java(Bazel 擴充套件用於
BUILD
檔案,沒有 Java 整合)
如果您在使用上述功能時遇到任何問題,可以透過提交一個 issue 聯絡我們。
後續步驟
繼續閱讀以瞭解更多關於