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

Java on Visual Studio Code 的更新 – 2022 年 5 月 – 用户体验、代码补全提升、Gradle 改进

  •  1
     
  •   winffee · 2022-05-23 15:21:08 +08:00 · 2604 次点击
    这是一个创建于 942 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,欢迎来到 Visual Studio Code Java 的 5 月更新。这个月的更新我们有许多关于用户体验以及代码补全相关的提升以及 Gradle 的改进,让我们开始吧!

    签名帮助改进

    当用户键入参数列表开始字符(通常是左括号)时,签名帮助会在工具提示中显示方法的签名。在我们的最新版本中,我们对此功能进行了一些重大改进:

    • 签名帮助现在可以被自动触发
    • 我们还添加了两个设置来控制 1) 是否需要自动触发签名帮助 2) 是否需要自动显示详细的方法描述(这意味着将同时显示方法的签名和详细文档中的方法说明)

    这是此功能的演示

    以下是您可以设置签名帮助相关行为的截图:

    如果您有兴趣,您可以在原始 PR中查看如何更好利用签名帮助的完整列表

    控制代码补全的插入 /替换模式

    在 Visual Studio Code 中,当您接受代码补全建议时,您可以选择覆盖或插入,并可以在"Editor > Suggest:Insert Mode"设置中更改此行为。但是在过去,此功能可能并不适用于 Java 插件,因为它需要我们的插件中进行一些适配。然而在我们的最新版本中,现在该功能已经完全适用于我们的 Java 插件。此外,您还可以使用 Shift 键临时在两种模式之间切换!这是一个快速演示:

    以下是设置这个模式的截图:

    我们希望这些用户体验改进能够真正帮助您提高编码效率!

    Gradle 更新

    正如我们之前在路线图中所分享的,构建工具是我们的主要关注点之一。我们很高兴与大家分享,在这一领域,微软正在与Gradle Enterprise密切合作,以改进我们的Gradle for Java插件。

    在五月的发布中,有几个值得关注的新功能:

    固定常用的 Task

    运行一些项目常用的Task是很常见的。为了节省开发人员的时间,我们现在提供了一项功能,允许您将 Taskl"固定"在项目视图的顶部,以便轻松找到 Task 并再次运行它,你甚至可以给它传递参数。这是此功能的演示。

    问题修复–支持多级项目和中文编码问题

    我们在社区中收到一个问题的反馈,当我们的插件在多级项目中搜索任务时,它会重复地复制该任务。这来源于对于 Gradle API 的不正确调用。我们已在最新版本中修复了此问题。

    另一个导致汉字乱码的问题也得到了修复。这两个问题都是从 GitHub 报告的,我们感谢社区找到它们并为它们提供示例项目和重现步骤。请继续与我们分享反馈。

    反馈与建议

    2022 年,Visual Studio Code 上的 Java 会有很多激动人心的更新,一如既往,您的反馈和建议对我们非常重要,将有助于我们未来的产品塑造。有几种方法可以给我们留下反馈

    资源

    以下链接和资源能帮助您更好地了解 Java on Visual Studio Code 的相关信息

    8 条回复    2022-05-27 09:15:19 +08:00
    zed1018
        1
    zed1018  
       2022-05-23 15:46:23 +08:00   ❤️ 1
    球球你们支持一下 kotlin 吧
    zhangxh1023
        2
    zhangxh1023  
       2022-05-23 16:01:03 +08:00
    insertMode 这个配置在之前有 bug ,有时候会 insert ,有时候会突然变成 replace ,就很麻烦。现在设置成了 insert ,不知道这个问题还会不会出现 orz
    guyeu
        3
    guyeu  
       2022-05-24 02:38:31 +08:00
    maven 项目启动主类的时候默认没有把 provided 的依赖放在 classpath ,IDEA 有个启动选项可以很方便调整这个行为,vscode 不行...
    join
        4
    join  
       2022-05-24 17:12:03 +08:00
    @winffee 我用 VSCode 的时候,如果在代码里面写上一个非常长的静态 string 如下:
    ```java
    public final static String str = "too long string.....";
    ```
    vscode 打开这个文件会非常卡,会卡上十几秒,而且关闭后再打开还是会重新卡上实际秒。
    这个问题社区有提过吗?你们碰到过没有?
    join
        5
    join  
       2022-05-24 17:13:00 +08:00
    @join 而且关闭后再打开还是会重新卡上十几秒
    jdneo
        6
    jdneo  
       2022-05-26 09:26:56 +08:00
    @join 能否说一下卡的具体现象,以及这个字符串有多长?

    我试了一下写一个 65535 长度的静态字符串常量(再长就超出常量池大小的限制了),貌似没有遇到打开后卡顿的问题。

    另外还有一个设置项叫 ‘editor.maxTokenizationLineLength’ 可以看一下是否设置成了默认值。
    join
        7
    join  
       2022-05-26 10:57:18 +08:00
    @jdneo 大约 32K 的样子。editor.maxTokenizationLineLength 这个值显示为 20000.
    这个字符串之所以这么长是因为 solidty 把代码编译后的字节码直接放在了生成好的 java sdk 里面。
    卡的现象就是完全动不了 vscode ,出现了进程无响应的那个框,就是有 force exit/keep waiting/cancel 这三个选项。
    jdneo
        8
    jdneo  
       2022-05-27 09:15:19 +08:00
    建议先去 https://github.com/microsoft/vscode-java-pack/issues 开一个 issue ,提供一下具体的重现步骤。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:28 · PVG 17:28 · LAX 01:28 · JFK 04:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.