Java開發插件配置:
Microsoft有個官方的插件Java Extension Pack,點開它的“依賴項”可以看到就是需要裝的幾個插件,可以直接裝這個
或者
我們可以直接安裝 Java 擴展包 ,里面包含了受大多數 Java 開發者歡迎的插件:
- Language Support for Java(TM) by Red Hat:通過 Eclipse ™ JDT Language Server 提供 Java 語言支持
- Debugger for Java:基於 Java Debug Server 的輕量級調試工具。
- Java Test Runner:執行和調試 Java 測試用例。
- Maven for Java:Maven 插件。
根據自己需要配置的插件:
- Spring Boot Support
- Spring Initializr Java Support
- Tomcat for Java
- CheckStyle for Java
- Lombok Annotations Support for VS Code
- Terminal
調試:
打開包含 Java 項目的代碼,然后按下面的步驟進行:
- 准備項目。打開一個 .java 文件,Java 擴展會激活。Maven、Gradle 和 Eclipse 項目都能得到支持。這個擴展會自動構建項目,不需要手工觸發構建。
- 開始調試。切換到調試視圖(Ctrl+Shift+D),打開 launch.json 並添加 Java 調試配置。
- 在 mainClass 中填入要啟動的類,或者在 hostName 中填入要附加的主機名以及在 port 中填入端口。
- 設置斷點並按 F5 開始調試。
支持以下特性:
- 啟動/附加 - 你可以在 VS Code 中啟動一個 Java 項目,也可以附加到一個在本地或遠程端以調試模式運行的 JVM 進程。
- 斷點 - 支持表達式條件或命中條件斷點,可以在內置的斷點設置容器中輕松進行設置。因此你可以直接在源代碼視圖中插入斷點,不需要彈出容器,非常方便。按異常中斷也得到了支持。
- 控制流 - 包括 暫停、繼續 F5、單步 F0、步進 F11、步出(跳出) Shift+F11。
- 數據審查 - 當程序停止在斷點上的時候,調試器可以訪問當前內存中的變量名和值。支持查看/監視/設置變量值。
- 診斷 - 調用棧 面板會顯示程序的調用棧,你在這個面板中可以在捕獲的調用路徑中隨意跳轉。多線程調試也通過並行棧得到支持。
- 調試控制台 - 可以從調試控制台看到標准輸出和錯誤輸出信息。
快捷鍵:
注釋代碼: Ctrl + /
切換側邊欄: Ctrl + b
文件夾中查找: Ctrl + shift + f
查找替換: Ctrl + shift + h
打開一個新的窗口:Ctrl +Shift + n
重構代碼: fn + F2
代碼格式化: Shift+Alt+F
,或 Ctrl+Shift+P
后輸入 format code
啟動調試:F5
啟動配置文件launch.json:
{
// 使用 IntelliSense 了解相關屬性。
// 懸停以查看現有屬性的描述。
// 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Launch) - Current File",
"request": "launch",
"vmArgs":"-Dserver.port=8082 -Dspring.profiles.active=dev -Dmaven.test.skip=true",
"mainClass": "${file}"
},
{
"type": "java",
"name": "Debug (Launch)-SpringBootDemoApplication<SpringBootDemo>",
"request": "launch",
"vmArgs":"-Dserver.port=8081 -Dspring.profiles.active=dev -Dmaven.test.skip=true",
"mainClass": "com.qhong.SpringBootDemoApplication",
"projectName": "SpringBootDemo"
}
]
}
啟動配置說明:
Launch:
- mainClass (required): java 代碼的 main 類 (例如:[mymodule/]com.xyz.MainClass).
- args: 傳遞給程序的命令行參數
- sourcePaths: 程序的額外源目錄。默認情況下,調試器從項目設置中查找源代碼。這個選項允許調試器在額外的目錄中查找源代碼
- modulePaths: 用於啟動JVM的模塊路徑。如果沒有指定,調試器將自動從當前項目解析
- classPaths: 啟動JVM的類路徑。如果沒有指定,調試器將自動從當前項目解析
- encoding: 該文件中的JVM的編碼設置。如果沒有指定,將使用’UTF-8’。在 Supported Encodings 中可以找到可能的值
- vmArgs: JVM的額外選項和系統屬性(例如:
-Xms<size> -Xmx<size> -D<name>=<value>
) - projectName: 調試器在其中搜索類的首選項目。在不同的項目中可能會有重復的類名。當調試器在啟動程序時查找指定的主類時,這個設置也可以工作。表達式求值是必須的
- cwd: 程序的工作目錄
- env: 程序的額外環境變量
- stopOnEntry: 啟動后自動暫停程序
- console: 用於啟動程序的指定控制台。默認為 internalConsole
- internalConsole: VS Code Debug 控制台 (輸入不被支持)
- integratedTerminal: VS Code 集成終端
- externalTerminal: 可以在用戶設置中配置的外部終端
- stepFilters: 在執行debug調試時,跳過指定的類或方法
- classNameFilters: 跳過指定的類。類名應該完全限定,支持通配符
- skipSynthetics: 跳過synthetic 方法
- skipStaticInitializers: 跳過靜態初始化方法
- skipConstructors: 跳過構造方法
Attach:
- hostName (required): 遠程調試器的主機名或IP地址
- port (required): 遠程調試器的debug端口
- timeout: 重新連接之前的超時時間,以毫秒為單位(默認為30000ms)
- sourcePaths: 程序的額外源目錄。默認情況下,調試器從項目設置中查找源代碼。這個選項允許調試器在額外的目錄中查找源代碼
- projectName: 調試器在其中搜索類的首選項目。在不同的項目中可能會有重復的類名。當調試器在啟動程序時查找指定的主類時,這個設置也可以工作
- stepFilters: 在 debug 調試時,跳過指定的類或方法
- classNameFilters: 跳過指定的類。類名應該完全限定,支持通配符
- skipSynthetics: 跳過 synthetic 方法
- skipStaticInitializers: 跳過靜態初始化方法
- skipConstructors: 跳過構造方法
User Setting:
- java.debug.logLevel: 發送到VS代碼的調試器日志的最低級別,默認為警告
- java.debug.settings.showHex: 在變量視圖中以十六進制格式顯示數字,默認為false
- java.debug.settings.showStaticVariables: 在variables視圖中顯示靜態變量,默認為true
- java.debug.settings.showQualifiedNames: 在變量視圖中顯示完全限定的類名,默認為false
- java.debug.settings.maxStringLength: 變量視圖或調試控制台中顯示的最大字符串長度。超過此長度的字符串將被裁剪。默認值為0,表示沒有進行修剪
- java.debug.settings.enableHotCodeReplace: 啟用Java源代碼的熱代碼替換。確保VScode 中的 Java 代碼沒有禁用自動構建。有關用法和限制的更多信息,請參閱 wiki page
遇到的問題:
- 找不到主類等方法
找不到構建路徑
等等一系列路徑問題
解決方法:
可能是項目有錯誤(如子項目同名)或緩存問題。
1、可以按Ctrl+Shift+P,輸入Java:Open Java Language Server Log file,查看日志文件來排錯。
2、 同時刪除C:\Users<用戶名>\AppData\Roaming\Code\CachedData目錄下的緩存,重新打開VS Code是就能正常識別java文件和生成調試配置了。 (如果路徑不對,就在日志文件里面找到路徑,刪除最新緩存(類似圖中一串英文數字的文件夾),重新打開VS Code。)
參考:
Visual Studio Code 搭建 Java 開發環境