终极指南:如何使用Visual Studio Code进行 Java 开发?
VS Code(Visual Studio Code)已成為多語言開發(fā)人員的首選文本編輯器。 大量Javascript、TypeScript、Go、Python 和其它語言的開發(fā)人員都在使用VS Code進(jìn)行編碼,這部分歸功于 VS Code 擴(kuò)展形成的龐大生態(tài)系統(tǒng)。這些擴(kuò)展增強(qiáng)和豐富了 VS Code 的體驗(yàn),使其成為類IDE的超級智能文本編輯器,同時(shí)它又極其快速和輕量級。
VS Code 支持 了Java 開發(fā),許多 Java 擁護(hù)者和演講者都使用它上臺演講做現(xiàn)場演示。
以下是 2019年 Java 開發(fā)人員使用 VS Code 開發(fā)、運(yùn)行、調(diào)試和部署其應(yīng)用程序的終極指南。
如果您尚未下載VS Code,那現(xiàn)在就下載并安裝它吧。接下來本指南將假定您至少安裝了 Java 8,盡管 VS Code 也支持 Java 11。您也可以完全跳過本指南,直接參考文檔《 用 VS Code 開發(fā) Java 應(yīng)用》。但是,建議對照下面的指南走查一遍重點(diǎn)部分,這將有助于您更好地利用 VS Code 進(jìn)行 Java 開發(fā)。
初始設(shè)置
為了使VS Code支持核心 Java,作為最低要求,您必須安裝一組擴(kuò)展。 讓我們逐一深入研究這些擴(kuò)展。
微軟的 Java 擴(kuò)展包(Java Extension Pack)
這個(gè)擴(kuò)展包包含了下文將要詳細(xì)介紹的五個(gè)擴(kuò)展。借助它,你無需過多了解就可以開始使用 VS Code。
紅帽的Java 語言支持?jǐn)U展(Language Support for Java)
要使 VS Code 支持Java,這是唯一一個(gè)必須安裝的擴(kuò)展。其它擴(kuò)展都是補(bǔ)充性的,您需要根據(jù)要開發(fā)的項(xiàng)目決定是否要安裝它們。
安裝完這個(gè)擴(kuò)展后,您就可以閱讀和編輯 Java 源代碼了。首先創(chuàng)建一個(gè) Helloworld.java 文件,然后用 VS Code 打開 (或者在VS Code中創(chuàng)建該文件,然后把它保存在某個(gè)文件夾中)。
完成后,您可以打開終端(在Mac OS中,使用組合鍵 ?+`),然后輸入命令 javac HelloWorld.java 進(jìn)行編譯。
VS Code里內(nèi)嵌的終端編譯后會產(chǎn)生一個(gè) Helloworld.class文件。最后,用Java命令運(yùn)行這個(gè)類:java helloworld。
Java 語言支持?jǐn)U展通過使用 Eclipse 語言服務(wù)器協(xié)議(Eclipse Language Server Protocol)支持 Java。了解有關(guān) Eclipse LSP 的更多信息。
其它特性
Java 語言支持?jǐn)U展添加了許多其它功能,可以幫助您快速瀏覽、編寫、重構(gòu)和閱讀Java源代碼,您不妨使用VS Code這個(gè)輕量級文本編輯器來替代其它IDE。
查看概述頁面可以獲取這個(gè)擴(kuò)展的特性以及重構(gòu)快捷鍵的完整列表。
微軟的Java 調(diào)試器(Debugger for Java)
掌握了在VS Code中編寫和閱讀 Java 代碼的基礎(chǔ)知識后,下一步自然就是運(yùn)行和調(diào)試代碼了。 這正是該擴(kuò)展提供的功能。 這個(gè)擴(kuò)展使用您計(jì)算機(jī)上的默認(rèn)JAVA_HOME,當(dāng)然您也可以自定義它。
運(yùn)行 | 調(diào)試 Java 應(yīng)用它具備常見的 Java IDE 調(diào)試特性的所有能力,并且支持更多的自定義,可以讓您控制代碼如何被執(zhí)行以及調(diào)試器如何連接到 JVM。 它還支持遠(yuǎn)程 JVM。
安裝這個(gè)擴(kuò)展后,您會在主方法上方看到兩個(gè)超鏈接,如上圖所示。若您單擊運(yùn)行,代碼將被編譯并執(zhí)行。您還可以設(shè)置斷點(diǎn)并點(diǎn)擊調(diào)試。
對于遠(yuǎn)程調(diào)試,您需要添加新的配置。 切換到調(diào)試視圖(在Mac上按Shift +?+ D)并點(diǎn)擊配置按鈕?。 這樣會打開 launch.json文件。 單擊屏幕上的添加配置藍(lán)色按鈕。 這會打開一個(gè)如上圖所示的彈出菜單。
現(xiàn)在,您可以自定義一個(gè)能插入遠(yuǎn)程 JVM的 啟動項(xiàng)了。您只需提供主機(jī)名、端口號等詳細(xì)信息。
和其它調(diào)試IDE一樣,您可以在運(yùn)行期間查看變量、堆棧追蹤,甚至對變量內(nèi)容進(jìn)行更改。
VS Code里在調(diào)試過程中更改 Java 變量至此,我們完成了用于閱讀、編寫、運(yùn)行和調(diào)試Java代碼的VS Code基本設(shè)置。
中級設(shè)置
掌握了 Java 編碼的基礎(chǔ)知識后,您很快就需要使用庫、依賴項(xiàng)、類路徑等。在 VS Code 上進(jìn)一步改進(jìn) Java 支持的最佳方法是添加以下三個(gè)擴(kuò)展:
1.Java依賴查看器(Java Dependency Viewer)
2.針對Java的Maven擴(kuò)展 (Maven for Java)
3.微軟的 Java 測試運(yùn)行器(Java Test Runner)
讓我們分別看一下這幾個(gè)擴(kuò)展。
微軟的Java依賴查看器
這個(gè)擴(kuò)展為您提供兩個(gè)核心功能。 其中主要的一個(gè)功能是提供了“項(xiàng)目”的概念,您可以手動向項(xiàng)目中添加庫(JAR)。 第二個(gè)功能使項(xiàng)目當(dāng)前設(shè)置的 classpath 可視化,即使是Maven項(xiàng)目(參見下文針對Java的Maven擴(kuò)展)。
打開命令托盤(Shift +?+ P)并輸入 create java:
您需要選擇創(chuàng)建項(xiàng)目的位置。項(xiàng)目由與項(xiàng)目名稱同名的文件夾組成(您選擇了創(chuàng)建項(xiàng)目的位置后,接下來命令托盤會繼續(xù)詢問項(xiàng)目名稱,例如你可以輸入myworkspace)。
創(chuàng)建項(xiàng)目后,VS Code 將在新窗口中打開這個(gè)新文件夾。
新的Java工程就像您看到的那樣,這個(gè)項(xiàng)目具有一個(gè)基本結(jié)構(gòu),其中包含了bin和src文件夾。 在src中,開始會有一個(gè)基本的 Java 類。 如果您是一位經(jīng)驗(yàn)豐富的Java開發(fā)人員,一眼就會發(fā)現(xiàn)這個(gè)擴(kuò)展使用的是Eclipse項(xiàng)目的格式,這是因?yàn)樗cEclipse語言服務(wù)器協(xié)議和其它擴(kuò)展能很好的協(xié)同工作。
添加類庫和JAR包
您可以編輯 .classpath 文件,指定全部自定義JAR包所在的目錄,這個(gè)目錄可以放在任何位置,例如某個(gè)lib文件夾。這些擴(kuò)展會自動加載 classpath 中包含的類庫,使你能夠運(yùn)行自己的代碼。
微軟的針對 Java 的 Maven擴(kuò)展
Maven 是 Java 生態(tài)系統(tǒng)中使用最廣泛的項(xiàng)目構(gòu)建和依賴關(guān)系管理工具。因此,通過該擴(kuò)展,您幾乎可以用 VS Code 處理任何類型的 Java 項(xiàng)目。
您將能夠通過 Maven 原型(archetype)生成和引導(dǎo) Maven 項(xiàng)目、管理依賴關(guān)系并觸發(fā) Maven 目標(biāo)(goal),并借助一些智能代碼補(bǔ)全功能編輯 pom. xml 文件。
Maven命令讓我們來看一下:
- 再次打開命令托盤,然后輸入Maven。
- 選擇Generate from Maven Archetype。
- 選擇maven-archetype-quickstart。
這個(gè)擴(kuò)展會要求您選擇目標(biāo)文件夾,以便在其下面生成項(xiàng)目文件夾。 輸入焦點(diǎn)會跳轉(zhuǎn)到終端,您必須在那里輸入Maven命令行的參數(shù),不過不用擔(dān)心,它會一步一步地引導(dǎo)您。
創(chuàng)建項(xiàng)目后,直接從終端調(diào)用 code 即可打開它。
在VS Code中打開新創(chuàng)建的目錄好了,您現(xiàn)在應(yīng)該已經(jīng)在VS Code中打開您的Maven項(xiàng)目了。您可以做的最基本的事情就是運(yùn)行您的代碼。 您有兩個(gè)選擇:
1.如前所述,使用 App 類中 main 方法旁邊的 Run 超鏈接運(yùn)行您的代碼。
2.使用Maven。
如果您使用 Java 調(diào)試擴(kuò)展(運(yùn)行 | 調(diào)試)觸發(fā)器,擴(kuò)展將使用Maven生成的 classpath,以確保所有依賴項(xiàng)都正確地添加到類路徑中。
如果使用 Maven 運(yùn)行 Java 代碼,您可以像往常一樣使用終端,或者打開命令托盤并輸入Maven Execute Commands。
顯示Maven動作的命令托盤它會要求您選擇一個(gè)項(xiàng)目。 由于您只有一個(gè)項(xiàng)目,直接在其上按回車即可。 接下來,您將看到一個(gè)列表,它包含了所有默認(rèn)的核心 Maven 目標(biāo)。 選擇 package 生成 JAR 文件。
如果要運(yùn)行自定義目標(biāo),例如從 Maven 插件繼承的目標(biāo),您可以使用 Maven 視圖:
編輯 pom.xml 文件并添加依賴項(xiàng)后,VS Code將自動重新加載 classpath,然后您就可以從新的依賴項(xiàng)中導(dǎo)入類和包。 這個(gè)過程非常干凈、順暢。
Microsoft的Java測試執(zhí)行器
最后一步是增強(qiáng)單元測試的運(yùn)行、調(diào)試和測試結(jié)果的可視化。此擴(kuò)展程序?qū)⒊溄犹砑拥娇梢詥为?dú)執(zhí)行的單元測試 (支持 JUnit 和 TestNG),您可以立即在 VS Code 中看到報(bào)告,如下面的示例所示。
在VS Code中運(yùn)行單元測試此擴(kuò)展還將啟用測試資源管理器視圖,因此您可以專注于代碼的單元測試,并以更加符合測試驅(qū)動開發(fā)(TDD)的方式編寫軟件。
測試瀏覽器此擴(kuò)展目前僅適用于 Maven 項(xiàng)目,因此請確保您安裝了針對 Java 的 Maven 擴(kuò)展。
高級設(shè)置
如果您現(xiàn)在對使用 VS Code 進(jìn)行 Java 開發(fā)感到滿意,那么是時(shí)候進(jìn)一步改善您的使用體驗(yàn)了。 以下是一些擴(kuò)展列表,可以改善您的日常工作體驗(yàn)。
這只是接下來要添加哪些擴(kuò)展的建議,而不是事實(shí)標(biāo)準(zhǔn)的列表,但它可以讓您先行一步。
GitLens
希望您已經(jīng)在使用Git了,無論是通過GitHub還是其它任何服務(wù)或環(huán)境。此擴(kuò)展為您提供有關(guān)源代碼著作信息的洞察,例如 “誰添加了此方法以及何時(shí)添加”。
上圖就是安裝了 GitLens 后 Java 類的樣子。看看那些沒有數(shù)字的行,它們是對提交歷史的注釋。 您也可以簡單地將鼠標(biāo)懸停在特定的行上,它將顯示這一行是何時(shí)、由誰、在哪個(gè)提交哈希上添加的。
Rest客戶端
如果您是構(gòu)建 REST API 的開發(fā)人員,那么這是您必須安裝的 VS Code 的擴(kuò)展。 有了它,您將能夠編輯包含 HTTP 調(diào)用的 .http 文件。 編輯器將快速提供代碼片段和模板,它會為您提供一個(gè)即點(diǎn)生效的神奇的超鏈接,它會觸發(fā) HTTP 調(diào)用并在旁邊打開結(jié)果。下圖是一個(gè)快速瀏覽。
就這樣了! 您現(xiàn)在擁有一份完整的 VS Code 設(shè)置,可以實(shí)際進(jìn)行任何類型的Java 開發(fā)了。
福利:Pivotal的 Spring 設(shè)置和Gradle
如果你是一個(gè)狂熱的 Spring 開發(fā)人員,一定想知道Pivotal和微軟提供的那些能增強(qiáng)Spring Boot應(yīng)用開發(fā)體驗(yàn)的重要擴(kuò)展。
最后,有一個(gè)可以幫助您編寫build.gradle文件的Gradle擴(kuò)展。
以下是一些額外的Spring工具供進(jìn)一步學(xué)習(xí):
Spring Boot Tools
Spring Initializr Java Support
Spring Boot Dashboard
Gradle Language Support
查看英文原文:https://dzone.com/articles/visual-studio-code-for-java-the-ultimate-guide-201
總結(jié)
以上是生活随笔為你收集整理的终极指南:如何使用Visual Studio Code进行 Java 开发?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C4C销售订单中业务伙伴的自动决定功能P
- 下一篇: Java并发编程的艺术,解读并发编程的优