Java on Visual Studio Code 的更新 – 2022 年 1 月

2022-01-21 10:01:34 +08:00
 winffee

大家好,欢迎来到 Visual Studio Code Java 更新 1 月版!这是我们新年的第一篇博客,我们将回顾 2021 年的亮点,并分享我们 2022 年的产品路线图!除此之外我们还有一些令人激动的产品更新,让我们开始吧!

2021 年回顾

2021 年对于 Visual Studio Code 上的 Java 支持是非常丰富以及忙碌的一年。我们对 Java 插件包中的各个板块都进行了重大改进。在这些更新中,我们想突出一些亮点:

Java™语言支持 1.0 版

2021 年,我们发布了Language Support for Java ™的官方 1.0 版本,这标志着微软与红帽多年合作的重要里程碑和成果。此版本包含许多重要功能,例如 Java 17 支持、更简单的类型层次结构查找、源代码查找、Gradle Kotlin (.kts) 支持等。此外,我们还从 0.78 版本开始对代码补全性能进行了一系列优化。通过这写优化,我们看到平均代码完成响应时间减少了 60%。

Gradle for Java 插件发布

Gradle 支持一直是社区中的热门话题。2021 年 10 月,我们正式发布了" Gradle for Java "插件,来应对开发者的 Gradle 需求。该插件现在有超过 23 万的下载量,我们希望继续对插件进行迭代。

新的上手体验

更好的上手体验始终是重中之重。2021 年,我们在该领域进行了多项改进,包括在 Visual Studio Code 中为 Java 开发人员提供新的产品内欢迎向导。我们还重新设计了欢迎视图和帮助中心页面,以便新开发者可以找到他们需要的指引。

各种用户体验改进

在整个 2021 年,还进行了许多用户体验改进,以优化开发人员的整体工作掉率。这当中包括:

GitHub Codespaces 中的 Spring 支持

除了核心 Java 插件更新之外,远程开发领域也有令人兴奋的更新。2021 年 9 月,我们宣布通过与 VMWare 合作,目前在GitHub Codespaces上已完全支持 Spring 框架。开发者可以直接在浏览器环境中无缝开发 Spring 应用。

如果您想了解 2021 年我们所做的所有改进,请访问我们过去的博客

用户增长

除了产品更新,在 2021 年我们还见证了年用户的增长。我们现在有超过 150 万用户在 VS Code 中开发 Java 。这是用户不断给我们反馈的结果,也感谢来自社区中广大开发者的支持。

2022 年产品路线图

现在让我们来展望 2022 年!新的一年,我们将关注以下领域:

基础开发体验提升

基础开发体验直接影响我们开发者的日常工作,这一领域将继续成为我们的重中之重。这包括努力提高我们的代码完成建议的智能性,提供更相关的代码片段生成,并根据用户的偏好提供各种快捷方式(例如"syso"和"sout")。此外,我们将进一步提升我们的调试体验。我们会做一系列的改进,例如:允许对反编译的类进行调试、在变量视图中更快地求值以及支持 lambda 表达式求值。我们还将探索 Project Loom项目提供的虚拟线程,以提高调试的性能。此外,显示测试覆盖率是我们希望支持的另一个功能,这样可以进一步增强我们的 Java 测试体验。最后,我们一直致力于支持最新的 Java 技术,Java 18 的支持也在我们的计划之中。

性能和可靠性

性能和可靠性是我们 2022 年关注的另一个领域。在这方面,我们希望提高 Java Language Server 的可靠性,减少 Java Language Server 无响应的情况。我们还从用户反馈了解到,如果有很多依赖项要下载,那么第一次导入项目可能会花费很多时间,因此我们也计划对此进行研究。最后但同样重要的是,我们将继续优化代码补全性能。

构建工具

构建和依赖管理一直是 Java 开发的关键部分,尤其是对于大型和多模块项目。我们将继续为Gradle for Java扩展添加新功能,并改进现有的Maven 扩展

更好的 Spring Boot 框架支持

Spring Boot 框架是最流行的 Java 框架之一,它允许开发者轻松构建微服务或 Web 应用程序。当前的Spring Boot 扩展包包含许多优化 Visual Studio Code 上的 Spring 开发体验的功能,但我们听到了来自 Spring 开发者社区的反馈,并计划做更多的优化。我们将与 VMWare 合作对核心 Java 插件包和 Spring 插件包进行改进,以下是改进的一般方向:

通过这些 Spring 改进,我们确实希望 Visual Studio Code 上的 Spring 开发体验将比以往更加便捷。

用户体验

我们关注的下一个领域是用户体验(UX)。在 2021 年,我们遇到了很多这样的情况:用户想要一个功能,但其实它是已经存在的,只不过因为很难发现而找不到。因此,使功能更易于使用和更容易被发现将是我们在该领域的重点。我们还认识到 Java 开发者可能来自不同的 Java IDE 背景,因此我们将更容易从其他 IDE 迁移设置和配置。最后,我们知道有很多学生开发者在 Visual Studio Code 中使用 Java ,因此我们计划进行一些教育场景的改进,例如为没有构建工具的项目提供更好的 JUnit 测试端到端体验,优化 JavaFX / Swing 的项目创建工作流,以及更流畅的 Java AWT 包导入体验。最后,我们还将研究在我们的 Java 扩展中支持 Live Share 。

云原生开发

近年来云原生一直是软件开发行业最热门的话题之一。在采用云原生开发方式时,开发人员需要处理微服务、云平台、Kubernetes 等等不同的技术。为了满足开发者在这方面的需求,我们计划探索与 Kubernetes 的更深层次集成,以及提供与不同云服务(如Azure Spring Cloud)的整合。借助 Visual Studio Code 的远程开发插件GitHub Codespaces ,我们的目标是让云原生开发成为 Java 开发人员的绝佳体验。

功能更新

除了路线图,我们还有一些令人兴奋的新产品要分享:

Java 插件包中自带 JRE

我们有好消息要告诉大家——借助 Visual Studio Code 中对于不同平台插件的支持,我们现在已将 JRE 嵌入到我们的 Java 插件中,这意味着用户不再需要担心配置 JDK 来运行插件, 只需要为项目配置** JDK 即可 。我们还更新了入门体验和配置 Java Runtime 页面( Ctrl+Shift+P : **** **"Configure Java Runtime") 以反映此更改。对于新用户,只需安装Java 插件包,下载项目所需的 JDK (支持 Java 1.5 或更高版本),创建 Java 文件,然后愉快地编码!

Java 代码格式化文件配置

我们经常听到开发者说他们需要为 Java 代码进行格式化文件的配置,但他们找不到好的地方来预览效果。为了解决格式化的问题,我们之前引入了一个视图,开发者可以在其中更改格式化设置并预览效果。您可以通过两种方式访问此功能:

第一个选项 – 只需调出命令面板( **Ctrl+Shift+P ** ),然后运行"Java: Open Formatter Settings with Preview"命令

第二个选项 – 使用"Java:Help Center"( **Ctrl+Shift+P ** ,然后运行"Java: Help Center"命令)。这将打开 Java 帮助中心页面,其中包含非常有用的功能和快捷方式的列表。在此页面上,只需单击"Configure Formatter Settings"。

使用上述任一选项将引导您进入格式化程序设置视图,您可以在其中轻松更改和预览 Visual Studio Code 中的代码格式化设置。

反馈与建议

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

资源

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

4835 次点击
所在节点    Visual Studio Code
28 条回复
Meteorite
2022-01-23 16:36:40 +08:00
@dcsuibian 原来是会生成的,但最近已经修复了这个问题,参考这个帖子: https://devblogs.microsoft.com/java-ch/1-1-0-no-more-project-metadata/
Meteorite
2022-01-23 16:37:23 +08:00
@zhentoujun fleet 现在只是在非常早期的阶段,具体体验如何也要再观望,收费模式也没有确定。vscode 免费开源~
dcsuibian
2022-01-23 18:51:09 +08:00
@Meteorite 哦哦哦,感谢。
是时候把卸掉的 java 扩展装回来了。
jdneo
2022-01-24 12:34:38 +08:00
@byte10 OutOfMemory 这个是最近引入的一个变动: https://github.com/redhat-developer/vscode-java/pull/2085 。Java Language Server 默认的 JVM 最大内存是 1G ,如果加载的项目比较大的话,1G 会不够用,这个时候就会弹出这个提示并把 JVM 内存扩大。
byte10
2022-01-24 13:36:37 +08:00
@jdneo 好的感谢。但是我的项目其实不大啊,一个 demo 项目,几个模块,能有多大😂,就是偶尔会出现。有时候频繁出现。哪个配置扩大这个内存?
jdneo
2022-01-25 13:43:24 +08:00
@byte10 它改的其实就是启动 java language server 的 jvm 参数。你也可以自己改:java.jdt.ls.vmargs
winffee
2022-02-23 17:55:37 +08:00
@xlsepiphone 您具体是有什么需求呢?
winffee
2022-02-23 18:03:23 +08:00
@dcsuibian .eclipse 不会有,classpath 的话,VS Code 支持用户自定义设置位置,具体可以参考 https://code.visualstudio.com/docs/java/java-project#_configure-classpath-for-unmanaged-folders

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/829621

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX