天天看點

Language Server for Java™ 1.0 在VS Code上正式釋出!

Nick Zhu form Senior Program Manager, Developer Division at Microsoft

今天,我們很高興與大家宣布:Language Server for Java™ 的1.0版本在 Visual Studio Code上正式釋出了!這是 Java 在 Visual Studio Code上的一個重要裡程碑,也是微軟,紅帽以及整個社群之間多年合作的結果。在這裡我們要感謝所有提出過意見或者做過貢獻的使用者,謝謝!

釋出亮點

當我們開始釋出第一個版本時,我們的目标是在 Visual Studio Code 上提供最好的 Java 開發體驗。此後,我們一直保持每月1-2次的釋出周期,經曆了多次疊代。在這個 1.0 版本中,我們想重點介紹以下新特色

Java 17 支援

我們會始終盡全力去支援 Java 語言提供的最新技術。在我們的 1.0 版本中,我們的 Java 插件現在正式提供對 Java 17 的支援

Language Server for Java™ 1.0 在VS Code上正式釋出!

性能改進

性能提升也是本次釋出的另一個亮點。由于 LSP 規範中的新功能,我們能夠推遲某些計算,進而在許多場景中為我們帶來更好的性能。此外,更好的預設 JVM 選項可以用于改善更大更複雜項目的使用者體驗。我們還在很多特定場景做了細微的改進,以提高語言伺服器的響應能力。

類繼承體系

現在使用者可以友善地在 Visual Studio Code 中輕松通路類繼承體系!這是我們最近推出的一項功能,并且一直是 Java 社群中最熱門的需求之一。

Language Server for Java™ 1.0 在VS Code上正式釋出!

庫源代碼定位

目前,我們允許使用者快速定位某個庫的源代碼,有時這非常有用。現在,我們已将其支援擴充到普通項目(即沒有使用建構工具的項目)。隻要庫來自 Maven Central repo,我們就可以解析其來源。還支援更進階的配置。

Language Server for Java™ 1.0 在VS Code上正式釋出!

更多代碼相關操作

使用者體驗是我們繼續改進的另一個領域。我們在新版本中提供了更多的代碼操作來優化使用者開發體驗

Language Server for Java™ 1.0 在VS Code上正式釋出!

Gradle Kotlin (.kts) 支援

盡管我們已經使用 Groovy 腳本支援 Gradle 項目,但我們不斷聽到社群需要更好的 Kotlin 支援,是以在新版本中我們對Kotlin提供了一些基本的支援。我們希望可以繼續擴充這一領域,并在未來為 Kotlin 提供出色的體驗

Language Server for Java™ 1.0 在VS Code上正式釋出!

Visual Studio Code 的 Java 之旅

Language Server for Java™ 是 Java 擴充包的基礎,并提供了 Java 代碼編輯、完成、重構、導航等核心體驗。在過去的幾年裡,微軟和紅帽一直密切合作,不斷為這個語言伺服器添加新功能。我們還一直在微調語言伺服器的性能,并通過修複Bug和添加新特性來提高穩定性。

除了主要的 Java 語言支援外,我們還基于語言伺服器建構了各種 Java 擴充,并擴充了 Visual Studio Code 上的 Java 開發體驗,包括項目管理、對 Maven/Gradle 的建構工具支援、更好的測試支援等。這些努力背後的目标是在 Visual Studio Code 上提供最佳的 Java 開發體驗。

展望未來

在未來,我們為 Visual Studio Code 上的 Java 語言支援有非常多的計劃。其中一些包括:

  • 讓使用者更容易配置編譯器的錯誤/警告和代碼格式
  • 更智能以及有用的代碼自動完成建議
  • 繼續提供更多的代碼相關操作并最終達到與其它Java IDE 相同的功能
  • 進一步提升語言伺服器的整體性能和啟動時間
  • 在插件中直接嵌入 Java Runtime以改善整體上手體驗

Language Server for Java™ 的 1.0 版本是 Java 在Visual Studio Code上的重要裡程碑,我們還有很長的路要走。微軟和紅帽将繼續在Java 語言支援方面進行合作和投入,我們緻力于提供出色的 Java 開發體驗。

與往常一樣,您的回報對我們的産品改進至關重要,是以請不要猶豫嘗試我們的産品。您可以點選此連結開始使用 Visual Studio Code 學習 Java,也可以通過此連結獲得最新的Java插件包。