大家好,歡迎來到 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 表示式的除錯體驗。這裡是一段演示:
支援 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”您不再需要的註解。這是一個演示。
另外,我們想再次提一下,我們的擴充套件現在已經內建了對 Lombok 的支援,這在 Project Lombok 的官方主頁上也有提及!
支援 @Nullable 和 @Nonnull 註解
最後,我們增強了程式碼分析以支援 @Nullable 和 @Nonnull 註釋。@Nullable 和 @Nonnull 註釋讓開發者和編譯器知道是否可以為變數、引數或返回值允許 null。
如果我們檢測到某些合同被違反,我們將在問題(Problems)部分顯示警告,並在編輯器區域為您突出顯示它們。這是此功能的快速演示。
目前,我們支援以下包中的 @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 的相關資訊