10月更新 | Java on Visual Studio Code

微軟技術棧發表於2022-11-23

大家好,歡迎來到 Visual Studio Code Java 的 10 月更新。主要改進包括除錯體驗最佳化,虛擬執行緒的支援,更多 Lombok 相關的程式碼操作以及程式碼編寫體驗的提升,讓我們開始吧!

除錯體驗提升

行內斷點(Inline breakpoint)的視覺化提示

考慮這樣的一行程式碼:

Stream.of (“Frank”).map(name -> name.toUpperCase ()). forEach ((item -> System.out.println (item));

當您在這一行設定斷點時,Visual Studio Code 將自動識別該行中的所有 lambda 表示式,並用灰點在語句旁邊將它們視覺化。如果你想在那些 lambda 表示式上進一步設定行內斷點,你可以直接點選那些灰點,灰點會像普通斷點一樣變成紅點,然後在程式碼執行過程中偵錯程式會停在這些斷點處。這將為您提供更輕鬆的這些 lambda 表示式的除錯體驗。這裡是一段演示:

image.png
點我檢視影片~

支援 Java 虛擬執行緒

Java 19 為 Java 平臺帶來了虛擬執行緒的第一個預覽,這是 Project Loom 的主要成果。虛擬執行緒旨在顯著提高併發 Java 程式設計的可擴充套件性,同時儘可能保留當前 API的形態。在我們 9 月的版本中,我們在 Java 偵錯程式中啟用了對虛擬執行緒的支援。請注意您需要安裝 JDK 19 來體驗該新功能。以下是在除錯中的截圖:

圖片

有關虛擬執行緒的更多詳細資訊,您可以閱讀官方部落格文章

編碼體驗改進

更快捷的 Lombok 程式碼操作:Lombok & Delombok

自從我們在 7 月推出對 Lombok 的全面支援以來,我們收到了很多功能需求!一個呼聲高的需求是在使用者點選 Code Action 燈泡(快速修復)時提供方便的 Lombok 操作,因此我們已將此功能新增到我們的最新版本中。我們目前支援的 Annotation 是:

  • @Data
  • @NoArgsConstructor
  • @AllArgsConstructor
  • @Getter
  • @Setter
  • @ToString
  • @EqualsAndHashCode

您不僅可以使用此快捷方式來“Lombok”您的程式碼,還可以透過取消選擇其中一些來“DeLombok”您不再需要的註解。這是一個演示。

image.png
點我檢視影片~

另外,我們想再次提一下,我們的擴充套件現在已經內建了對 Lombok 的支援,這在 Project Lombok 的官方主頁上也有提及

支援 @Nullable 和 @Nonnull 註解

最後,我們增強了程式碼分析以支援 @Nullable 和 @Nonnull 註釋。@Nullable 和 @Nonnull 註釋讓開發者和編譯器知道是否可以為變數、引數或返回值允許 null。
如果我們檢測到某些合同被違反,我們將在問題(Problems)部分顯示警告,並在編輯器區域為您突出顯示它們。這是此功能的快速演示。

image.png
點我檢視影片~

目前,我們支援以下包中的 @NonNull 和 @Nullable 註釋:

  • javax.annotation.*
  • org.eclipse.jdt.annotation.*
  • org.springframework.lang.*

如果您希望在程式碼分析中包含或排除某些註解,您可以在settings.json中的“java.compile.compileAnalysis.nonnull”和“java.compile.compileAnalysis.nullable”下進行配置。這是一個螢幕截圖。

圖片

安裝 Java 外掛包

要使用上述所有功能,請在 Visual Studio Code 上下載並安裝Extension Pack for Java
圖片

如果您是一位 Spring 開發者,並且正在編寫 Spring Boot 相關的程式,您也可以下載並安裝 Spring Boot 外掛包,獲得與 Spring Boot 有關的專屬開發體驗。
圖片

反饋與建議

2022 年,Visual Studio Code 上的 Java 會有很多激動人心的更新,一如既往,您的反饋和建議對我們非常重要,將有助於我們未來的產品塑造。有幾種方法可以給我們留下反饋:

資源

以下連結和資源能幫助您更好地瞭解 Java on Visual Studio Code 的相關資訊

歡迎獲取更多有關 Java on VS Code 的資源和教程~

相關文章