Java on Visual Studio Code 10 月更新 支持 Java 虚拟线程、内置 Lombok 的持 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
winffee
V2EX    Visual Studio Code

Java on Visual Studio Code 10 月更新 支持 Java 虚拟线程、内置 Lombok 的持

  •  
  •   winffee 2022-1-20 10:27:09 +08:00 3226 次点击
    这是一个创建于 1102 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,欢迎来到 Visual Studio Code Java 的 10 月更新。这次我们带来了很多代码编辑和调试体验的改进,让我们开始吧!

    调试体验提升

    行内断点(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 的相关信息

    11 条回复    2022-10-25 15:34:44 +08:00
    lx0758
        1
    lx0758  
       2022-10-20 11:07:34 +08:00
    不知道啥时候能官方支持 Kotlin 一波。。。
    zed1018
        2
    zed1018  
       2022-10-20 13:29:39 +08:00
    kotlin+1
    641571835
        3
    641571835  
       2022-10-20 13:44:00 +08:00
    kotlin+1
    Kaiv2
        4
    Kaiv2  
       2022-10-20 13:48:55 +08:00
    越来越完善了,neovim 也需要跟进
    zhangxh1023
        5
    zhangxh1023  
       2022-10-20 16:07:59 +08:00
    真好
    beetlerx
        6
    beetlerx  
       2022-10-20 17:09:07 +08:00
    kotlin+1
    zhuangzhuang1988
        7
    zhuangzhuang1988  
       2022-10-20 17:12:15 +08:00
    微软牛逼。
    formulahendry
        8
    formulahendry  
       2022-10-21 09:40:50 +08:00
    kotlin+1
    2han9wen71an
        9
    2han9wen71an  
       2022-10-21 10:27:21 +08:00
    微软牛逼
    tilv37
        10
    tilv37  
       2022-10-21 15:00:12 +08:00
    尝试了几次 vscode 搞 java 。结果弄了半天都没弄好环境,是我太蠢、、
    winffee
        11
    winffee  
    OP
       2022-10-25 15:34:44 +08:00
    @tilv37 https://code.visualstudio.com/docs/java/java-tutorial 阅读官方的入门教学可以少走很多弯路
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     929 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 18:35 PVG 02:35 LAX 11:35 JFK 14:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86