Java on Visual Studio Code 的更新 2022 年 5 月 用户体验、代码补全提升、Gradle 改进 - V2EX
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 3138 次点击
    这是一个创建于 1238 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,欢迎来到 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  
      &nbs;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     Solana     839 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 19ms UTC 21:15 PVG 05:15 LAX 14:15 JFK 17:15
    Do have faith in what you're doing.
    ubao 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