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 的超級智能文本編輯器,同時它又極其快速和輕量級。 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ā)。 為了使 VS Code 支持核心 Java,作為最低要求,您必須安裝一組擴(kuò)展。 讓我們逐一深入研究這些擴(kuò)展。 這個擴(kuò)展包包含了下文將要詳細(xì)介紹的五個擴(kuò)展。借助它,你無需過多了解就可以開始使用 VS Code。 要使 VS Code 支持 Java,這是唯一一個必須安裝的擴(kuò)展。其它擴(kuò)展都是補(bǔ)充性的,您需要根據(jù)要開發(fā)的項(xiàng)目決定是否要安裝它們。 安裝完這個擴(kuò)展后,您就可以閱讀和編輯 Java 源代碼了。首先創(chuàng)建一個 Helloworld.java 文件,然后用 VS Code 打開 (或者在 VS Code 中創(chuàng)建該文件,然后把它保存在某個文件夾中)。 完成后,您可以打開終端(在 Mac OS 中,使用組合鍵 ?+`),然后輸入命令 javac HelloWorld.java 進(jìn)行編譯。 VS Code 里內(nèi)嵌的終端 編譯后會產(chǎn)生一個 Helloworld.class 文件。最后,用 Java 命令運(yùn)行這個類: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 這個輕量級文本編輯器來替代其它 IDE。 面包屑導(dǎo)航 (頂部) — 大綱視圖 (左下角) 查看概述頁面可以獲取這個擴(kuò)展的特性以及重構(gòu)快捷鍵的完整列表。 掌握了在 VS Code 中編寫和閱讀 Java 代碼的基礎(chǔ)知識后,下一步自然就是運(yùn)行和調(diào)試代碼了。 這正是該擴(kuò)展提供的功能。 這個擴(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。 安裝這個擴(kuò)展后,您會在主方法上方看到兩個超鏈接,如上圖所示。若您單擊運(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)色按鈕。 這會打開一個如上圖所示的彈出菜單。 現(xiàn)在,您可以自定義一個能插入遠(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è)置。 掌握了 Java 編碼的基礎(chǔ)知識后,您很快就需要使用庫、依賴項(xiàng)、類路徑等。在 VS Code 上進(jìn)一步改進(jìn) Java 支持的最佳方法是添加以下三個擴(kuò)展:
讓我們分別看一下這幾個擴(kuò)展。 這個擴(kuò)展為您提供兩個核心功能。 其中主要的一個功能是提供了“項(xiàng)目”的概念,您可以手動向項(xiàng)目中添加庫(JAR)。 第二個功能使項(xiàng)目當(dāng)前設(shè)置的 classpath 可視化,即使是 Maven 項(xiàng)目(參見下文針對 Java 的 Maven 擴(kuò)展)。 打開命令托盤(Shift +?+ P)并輸入 create java: 創(chuàng)建一個 Java 工程 您需要選擇創(chuàng)建項(xiàng)目的位置。項(xiàng)目由與項(xiàng)目名稱同名的文件夾組成(您選擇了創(chuàng)建項(xiàng)目的位置后,接下來命令托盤會繼續(xù)詢問項(xiàng)目名稱,例如你可以輸入 myworkspace)。 創(chuàng)建項(xiàng)目后,VS Code 將在新窗口中打開這個新文件夾。 新的 Java 工程 就像您看到的那樣,這個項(xiàng)目具有一個基本結(jié)構(gòu),其中包含了 bin 和 src 文件夾。 在 src 中,開始會有一個基本的 Java 類。 如果您是一位經(jīng)驗(yàn)豐富的 Java 開發(fā)人員,一眼就會發(fā)現(xiàn)這個擴(kuò)展使用的是 Eclipse 項(xiàng)目的格式,這是因?yàn)樗c Eclipse 語言服務(wù)器協(xié)議和其它擴(kuò)展能很好的協(xié)同工作。 您可以編輯 .classpath 文件,指定全部自定義 JAR 包所在的目錄,這個目錄可以放在任何位置,例如某個 lib 文件夾。這些擴(kuò)展會自動加載 classpath 中包含的類庫,使你能夠運(yùn)行自己的代碼。 編輯.classpath 文件增加類庫 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 命令 讓我們來看一下:
這個擴(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)行您的代碼。 您有兩個選擇:
如果您使用 Java 調(diào)試擴(kuò)展(運(yùn)行 | 調(diào)試)觸發(fā)器,擴(kuò)展將使用 Maven 生成的 classpath,以確保所有依賴項(xiàng)都正確地添加到類路徑中。 如果使用 Maven 運(yùn)行 Java 代碼,您可以像往常一樣使用終端,或者打開命令托盤并輸入 Maven Execute Commands。 顯示 Maven 動作的命令托盤 它會要求您選擇一個項(xiàng)目。 由于您只有一個項(xiàng)目,直接在其上按回車即可。 接下來,您將看到一個列表,它包含了所有默認(rèn)的核心 Maven 目標(biāo)。 選擇 package 生成 JAR 文件。 如果要運(yùn)行自定義目標(biāo),例如從 Maven 插件繼承的目標(biāo),您可以使用 Maven 視圖: 執(zhí)行來自 Maven 插件的目標(biāo) 編輯 pom.xml 文件并添加依賴項(xiàng)后,VS Code 將自動重新加載 classpath,然后您就可以從新的依賴項(xiàng)中導(dǎo)入類和包。 這個過程非常干凈、順暢。 最后一步是增強(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ò)展。 如果您現(xiàn)在對使用 VS Code 進(jìn)行 Java 開發(fā)感到滿意,那么是時候進(jìn)一步改善您的使用體驗(yàn)了。 以下是一些擴(kuò)展列表,可以改善您的日常工作體驗(yàn)。 這只是接下來要添加哪些擴(kuò)展的建議,而不是事實(shí)標(biāo)準(zhǔn)的列表,但它可以讓您先行一步。 希望您已經(jīng)在使用 Git 了,無論是通過 GitHub 還是其它任何服務(wù)或環(huán)境。此擴(kuò)展為您提供有關(guān)源代碼著作信息的洞察,例如 “誰添加了此方法以及何時添加”。 上圖就是安裝了 GitLens 后 Java 類的樣子。看看那些沒有數(shù)字的行,它們是對提交歷史的注釋。 您也可以簡單地將鼠標(biāo)懸停在特定的行上,它將顯示這一行是何時、由誰、在哪個提交哈希上添加的。 如果您是構(gòu)建 REST API 的開發(fā)人員,那么這是您必須安裝的 VS Code 的擴(kuò)展。 有了它,您將能夠編輯包含 HTTP 調(diào)用的 .http 文件。 編輯器將快速提供代碼片段和模板,它會為您提供一個即點(diǎn)生效的神奇的超鏈接,它會觸發(fā) HTTP 調(diào)用并在旁邊打開結(jié)果。 就這樣了! 您現(xiàn)在擁有一份完整的 VS Code 設(shè)置,可以實(shí)際進(jìn)行任何類型的 Java 開發(fā)了。 如果你是一個狂熱的 Spring 開發(fā)人員,一定想知道 Pivotal 和微軟提供的那些能增強(qiáng) Spring Boot 應(yīng)用開發(fā)體驗(yàn)的重要擴(kuò)展。 最后,有一個可以幫助您編寫 build.gradle 文件的 Gradle 擴(kuò)展。 以下是一些額外的 Spring 工具供進(jìn)一步學(xué)習(xí):
https:///articles/visual-studio-code-for-java-the-ultimate-guide-201 點(diǎn)個好看少個 bug ?? |
|