本文是一份提供給 Java 開發人員在 2019 年使用 Visual Studio Code 的終極指南,幫助開發者使用 VS Code 進行開發、運行、調試和部署其應用程式。
作者 | Bruno Borges,微軟首席工程師
譯者 | 安翔
責編 | 屠敏
出品 | CSDN(ID:CSDNnews)
Visual Studio Code 已經成為多語言開發者首選的文本編輯器。Javascript、TypeScript、Go、Python 以及其他程式語言的大量開發者都習慣使用 VS Code 進行編碼,VS Code 除了擁有良好的生態之外,它還具有強大而豐富的功能以及良好的用戶體驗,同時還能做到簡潔快速和輕量級,這些因素使其成為一款無比強大的 IDE。
毫無疑問,如此強大的 VS Code 當然支持 Java,許多 Java 大牛和演講者都選擇它來進行現場演示。
接下來,我們將詳解如何在 VS Code 中基於 Java 進行開發。如果你尚未下載 Visual Studio Code,請立即安裝。本指南的其餘部分要求你至少安裝了 Java 8,當然 Java 11 也可以。你也可以完全跳過本指南,直接去看 Visual Studio Code 的 Java 文檔。但是本文的一些乾貨可以幫助你充分利用 VS Code 進行 Java 開發。
基本設置
一些擴展的存在使得 Java 能夠得到 VS Code 最核心的支持。讓我們深入研究一下這些擴展。
微軟的 Java 擴展包
該擴展包包含了後面將會詳細介紹的五個擴展,有了它,你無需對 VS Code 有太多了解即可使用它來進行 Java 開發。
紅帽對 Java 的語言支持
想要獲得 VS Code 對 Java 的支持,只需安裝該擴展即可實現。其他的擴展能夠起到錦上添花的作用,你可以根據項目具體情況酌情使用。
安裝語言支持後,你便可以閱讀和編輯 Java 原始碼了。首先創建一個名為HelloWorld.java 的文件並在 VS Code 中打開(或者在 VS Code 中創建文件,然後將其保存到某個文件夾中也行)。
接下來,打開終端,以 Mac OS 為例,鍵入 ⌘+` - 然後輸入 javac HelloWorld.java指令進行編譯。
這將生成一個名為 HelloWorld.class 的文件。執行 java HelloWorld 命令即可運行該程序。
Java 擴展的語言支持之所以能夠支持 Java,主要藉助於 Eclipse LSP。
其他特性
此擴展添加了許多其他功能,可以幫助開發者快速瀏覽、編寫、重構和讀取 Java原始碼,以至於開發者可以放棄 IDE 轉而選擇輕量級的文本編輯器。
有關重構和完整的功能列表,點擊此處了解更多。
微軟的 Java 調試器
掌握了在 Visual Studio Code 中編寫和閱讀 Java 代碼的基礎知識之後,下一步學習程序的運行和調試。該擴展提供了這一點。它將使用你計算機上的默認JAVA_HOME 環境變量,當然,你也可以自定義。
它具備普通 Java IDE 的所有調試功能,開發者使用它可以更好地定製和控制事物的執行方式,掌握調試器連接到 JVM 的具體細節。此外,它還可以與遠程 JVM 很好地配合工作。
安裝此擴展之後,如上圖所示,你會發現 main 方法上方有兩個超連結,分別是 Run 和 Debug。點擊「Run」,代碼將被編譯和執行。你還可以點擊 Debug 並設置斷點進行調試。
想要進行遠程調試,你得添加新的配置。轉到 Debug 視圖(在 Mac 上按下 Shift +⌘+ D)並按下齒輪 ⚙ 配置按鈕。這將打開 launch.json 文件。點擊屏幕上藍色的 Add Configuration(添加配置) 按鈕。這會彈出一個菜單,如上圖所示。
此時,你可以自定義一個連接遠程 JVM 的啟動程序。只需提供主機名和埠號等信息即可。
與任何 IDE 的調試方法一樣,你可以在程序執行期間跟蹤變量和堆棧信息,也可以對變量內容進行更改。
自此,關於 Visual Studio Code 的基本設置已經完成,我們可以用其讀取、編寫、運行和調試 Java 代碼。
中級設置
只要你擁有 Java 編程的基礎知識,那麼你肯定會經常用到各種庫、依賴項、類,等等。在 Visual Studio Code 中提升 Java 支持力度的最佳方法是添加以下擴展:
Java 依賴查看器
Maven for Java
接下來,我們一個一個詳細介紹。
微軟的 Java 依賴查看器
該擴展將為開發者提供兩大核心功能。其中一個是「項目」的概念,開發者可以使用它來手動添加庫(JAR)。第二個是它允許開發者可視化當前項目設置的類路徑,即使它是 Maven 項目也可以。
打開命令行(Shift +⌘+ P)並鍵入 create java:
你將看到項目創建的路徑提示。項目所在文件夾的名稱將與項目名相同。
創建項目後,VS Code 將在新窗口中打開這個新的文件夾。
如你所見,該項目具有 bin 和 src 文件夾的基本結構。在 src 中,你可以找到一個基本的 Java 類開始編寫代碼。如果你是一位經驗豐富的 Java 開發人員,那麼你將很快發現該擴展使用了與 Eclipse 類似的項目格式,它與 Eclipse LSP以及其他擴展一起使用效果將會更好。
添加庫和 JAR 包
你可以編輯 .classpath 文件來添加庫。該擴展將自動在類路徑中加載這些庫,從而運行代碼將會變得輕而易舉。
微軟提供的 Maven for Java
Maven 是 Java 生態系統中使用最廣泛的項目構建和依賴管理工具。因此,該擴展可以幫助你通過 Visual Studio Code 應對幾乎任何類型的 Java 項目。
你可以通過 Maven 原型(骨架)生成和引導 Maven 項目,管理依賴項並觸發Maven 目標,還可以通過一些智能代碼來編輯 pom.xml 文件。
進行如下操作:
擴展程序將詢問目標文件夾,項目文件夾將會自動生成到該目標文件夾中。之後會打開一個終端,你需要在該終端上輸入 Maven 命令行的參數,這些都會自動引導,因此完全不必擔心。
項目創建完成之後,在終端右側調用 code <文件夾名稱>。
此時,你的 Maven 項目應該已經在 VS Code 中打開了。有兩種方式可以運行你的代碼:
點擊 main 方法旁邊的 App 類中的名為 Run 的超連結。
當然,也可以使用 Maven。
如果使用 Java 擴展調試器(Run | Debug)觸發器,擴展將使用 Maven 生成的類路徑,以確保所有依賴項都正確添加到類路徑中。
但是,要與 Maven 一起運行,你可以像往常一樣使用終端,或者打開命令行並鍵入 Maven Execute Commands。
它會要求你選擇一個項目。由於你只有一個項目,按下 Enter 鍵即可。接下來,你將看到所有默認核心 Maven 目標的列表。點擊 package 以生成 JAR 文件。
如果要運行自定義目標,例如從 Maven 插件繼承的目標,可以使用 Maven 視圖:
編輯 pom.xml 文件以添加依賴項,VS Code 將自動重新加載類路徑,它將從新的依賴項中導入類和包。
微軟的 Java Test Runner
該部分的內容能夠幫助你更好地運行、調試和可視化單元測試結果。此擴展添加了可單獨執行的單元測試(支持 JUnit 和 TestNG )的超連結,你可以在 Visual Studio Code 中即刻查看報告,如下例所示。
此擴展還將啟用 Test Explorer 視圖,因此你可以專注於代碼的單元測試並以更TDD 的風格編寫軟體。
此擴展目前僅適用於 Maven 項目,因此請確保你安裝了 Maven for Java 擴展。
高級設置
如果你現在對使用 VS Code for Java 已經得心應手了,那麼現在是時候學習一些高級技能了。下面的擴展程序能夠讓你的日常工作如虎添翼。
GitLens
希望你已經學會了使用 Git,無論是通過 GitHub 還是其他任何方式。此擴展程序可以幫助你了解原始碼的修改者的歷史記錄,例如「何人何時添加了此方法」。
安裝了 GitLens 之後,Java 類的樣子將如上圖所示。26行顯示了修改者的歷史信息。你也可以簡單地將滑鼠懸停在特定的行上,它將顯示何人何時修改了該行代碼。
REST 客戶端
如果你是構建 REST API 的開發人員,那麼這是 Visual Studio Code 環境中必須安裝的擴展。有了它,你能夠編輯包含 HTTP 調用的 .http 文件。編輯器將提供快速的代碼片段和模板,它會在你點擊後提供神奇的超連結,還會觸發 HTTP 調用並在其旁邊打開結果。如下圖所示:
至此,我們擁有了一個完整的 Visual Studio Code 設置,可以進行任何類型的Java 開發。
其他擴展程序:Spring Setup 和 Gradle
如果你是一個 Spring 開發人員,Pivotal 和微軟提供的 Spring Setup 擴展將為你帶來 Spring Boot 應用程式開發的良好體驗。
最後,有一個名為 Gradle 的擴展可以幫助你編寫 build.gradle 文件。
以下是其他一些值得了解的 Spring 工具:
Spring Boot Tools:https://marketplace.visualstudio.com/items?itemName=Pivotal.vscode-spring-boot&WT.mc_id=medium-blog-brborges
Spring Initializr Java Support:https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-spring-initializr&WT.mc_id=medium-blog-brborges
Spring Boot Dashboard:https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-spring-boot-dashboard&WT.mc_id=medium-blog-brborges
Gradle Language Support:https://marketplace.visualstudio.com/items?itemName=naco-siren.gradle-language&WT.mc_id=medium-blog-brborges
原文:https://dzone.com/articles/visual-studio-code-for-java-the-ultimate-guide-201
本文為 CSDN 翻譯,如需轉載,請註明來源出處。
熱 文 推 薦
☞ 任正非:美國不會摧毀華為!
☞ 程式設計師跳槽面試刷題必備,微軟工程師放大招!| 程式設計師硬核評測
☞ 可視化編程真的有那麼糟糕?
☞ 滴滴「不差錢」?
☞ Java 工程師成神之路!
☞ 在使用 Go 兩年之後,我又轉回 PHP 了
☞ 微服務、Kubernetes和無伺服器之後,即將發生的……
☞ 打打遊戲就能在北京二環買套房?區塊鏈大神說:你能靠VR刷怪升級還房貸!
☞ 帥氣中國小哥出「大招」,程式設計師跳槽面試刷題必備
☞ 35歲程式設計師 節後第一天被辭退!
print_r('點個好看吧!');
var_dump('點個好看吧!');
NSLog(@"點個好看吧!");
System.out.println("點個好看吧!");
console.log("點個好看吧!");
print("點個好看吧!");
printf("點個好看吧!\n");
cout << "點個好看吧!" << endl;
Console.WriteLine("點個好看吧!");
fmt.Println("點個好看吧!");
Response.Write("點個好看吧!");
alert("點個好看吧!")
echo "點個好看吧!"
點擊「閱讀原文」,打開 CSDN App 閱讀更貼心!