V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
winffee
V2EX  ›  Java

Visual Studio Code 上已有两百万 Java 开发者! 2022 年 11 月的更新 -- 调试新功能和 Spring 组件图示

  •  
  •   winffee · 2022-11-25 17:50:39 +08:00 · 2711 次点击
    这是一个创建于 730 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,我们很高兴与大家分享一个好消息,现在 Visual Studio Code 上已有超过 200 万 Java 开发者,这要来自于长期社区以及用户的支持,所以谢谢你们!

    对于 11 月的更新,我们为您带来了全新的代码编辑功能,例如后缀补全、优化的组织导入。此外,调试器得到了一个很好的更新,因为我们支持一个名为"Step Into Target (直接进入函数)"的新功能。最后,我们对 Spring 组件进行了一些视觉增强,让我们开始吧。

    后缀完成

    后缀补全让您可以在刚刚键入的表达式后添加代码片段,从而提高您的工作效率。这是 JetBrain 产品中的一项流行功能,社区也通过GitHub要求我们的插件提供这一项功能。通过对上游的一些调查和更改,我们已经我们的最新版本中支持后缀补全。

    我们目前支持的后缀快捷方式如下:

    快捷键 模板内容 描述
    cast ((SomeType) expr) 将表达式转换为新类型
    else if (!expr) 创建一个否定的 if 语句
    for for (T item : expr) 创建一个 for 语句
    fori for (int i = 0; i < expr.length; i++) 创建一个遍历数组的 for 语句
    forr for (int i = expr.length-1; i >= 0; i–) 创建一个 for 语句,以相反的顺序遍历数组
    if if (expr) 创建一个 if 语句
    nnull if (expr != null) 创建一个 if 语句并检查表达式是否不解析为 null
    null if (expr == null) 创建一个 if 语句,检查表达式是否解析为 null
    sysout System.out.println(expr) 将受影响的字符串发送到 System.out.println (..) 调用
    throw throw expr 抛出给定的异常
    var T name = expr 创建一个新变量
    while while (expr) {} 创建一个 while 循环

    这是此功能的演示:

    我们计划继续添加更多后缀快捷方式,敬请期待。

    组织 /清理导入(Organize Import)的优化

    组织导入(Organize Import)是 Java 开发人员在代码编辑过程中最常见的操作之一。我们针对这个场景做了一些优化。

    • QuickFix 中删除所有未使用的导入

    我们已将此选项添加到 QuickFix (灯泡图标),因此您可以同时删除所有未使用的导入。

    • QuickFix 添加所有缺失的导入

    如果有未解析的类,您还可以使用 QuickFix 添加所有缺少的导入并从下拉列表中选择类

    • 从 Source Action 菜单添加所有缺失的导入

    另一种添加所有缺失导入的方法是右键单击调出菜单,然后选择"Source Action",您也会在那里看到"Add all missing imports"。

    这是上述所有功能的演示

    我们将继续围绕"组织导入"场景添加更多改进,您可以在这个 GitHub 问题中找到我们所有的未来计划。请随时在那里留下您的反馈或评论。

    调试新功能 –Step Into Target (直接步入函数)

    调试包含许多嵌套函数调用的语句可能会很麻烦,因为您可能不得不单步执行您并不真正感兴趣的函数。为了改善这种情况,调试适配器协议支持了"Step Into Target"功能,该功能显示用于直接进入您感兴趣的函数的 UI 。

    在我们最新的 Java 插件中,我们已经开始支持此功能。当调试在语句上停止时,您可以从菜单中选择"Step Into Target",这使您可以直接进入您感兴趣的函数或目标。这是此功能的演示:

    Spring 组件的图示

    Spring 开发者的体验一直是我们的焦点。这一次,我们为编辑区域添加了一些视觉增强功能,以便开发者可以更好地识别 Spring 组件并与 Spring Boot Dashboard 进行交互。

    当您使用最新版本的 Spring Boot 插件包,您会在编辑器区域中的 Spring bean 和 Endpoint mapping 旁边找到绿色图标。这为您提供了这是一个 Spring 组件的视觉线索。当悬停在这些组件上时,将弹出一个提示,您将看到有关此组件的一些详细信息以及在 Spring Boot Dashboard 中打开它的链接。这是此功能的快速演示。

    安装 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 的相关信息

    8 条回复    2022-11-28 10:23:44 +08:00
    XiaoJiang9527
        1
    XiaoJiang9527  
       2022-11-25 18:03:14 +08:00
    cy
    fzdwx
        2
    fzdwx  
       2022-11-25 18:07:42 +08:00
    这个 postfix 它会检测类型吗? 还是只是一个类似 snippet 的功能
    dragondove
        3
    dragondove  
       2022-11-25 18:32:52 +08:00
    @fzdwx 看演示图是会的
    fzdwx
        4
    fzdwx  
       2022-11-25 18:42:43 +08:00
    vscode 有这样的 api 给开发者调用吗。。。我也写了个这种类似的插件,但是没有获取类型的 api ,只能全部返回
    Donahue
        5
    Donahue  
       2022-11-25 18:55:58 +08:00
    感谢,vscode 上的 java 开发现在确实挺不错的
    seaswalker
        6
    seaswalker  
       2022-11-25 19:06:02 +08:00 via iPhone
    感觉提示的弹出速度有些延迟,不像 idea 那样立马弹出,这个希望继续优化下
    jdneo
        7
    jdneo  
       2022-11-28 10:23:37 +08:00
    @fzdwx 会进行类型推断的,推断发生在背后的 Java 语言服务,语言服务会根据当前光标位置的上下文做推断。
    Meteorite
        8
    Meteorite  
       2022-11-28 10:23:44 +08:00
    @fzdwx 应该会自动进行类型推断
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5380 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:46 · PVG 13:46 · LAX 21:46 · JFK 00:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.