DH3G游戏资讯网

微软总结 Visual Studio Code Java 2021 年更新特性,并公布 2022 年全新功能

发表于:2024-12-04 作者:创始人
编辑最后更新 2024年12月04日,IT之家 1 月 22 日消息,据微软中国 MSDN 官方发布,大家好,欢迎来到 Visual Studio Code Java 更新 1 月版!这是我们新年的第一篇博客,我们将回顾 2021 年的亮

IT之家 1 月 22 日消息,据微软中国 MSDN 官方发布,大家好,欢迎来到 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%。

Java 插件包:

https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack

Language Support for Java ™的官方 1.0 版本:

https://devblogs.microsoft.com/java/language-server-1-0/

一系列优化

https://devblogs.microsoft.com/java/java-on-visual-studio-code-update-october-2021/

Gradle for Java 插件发布

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

Gradle for Java :

https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-gradle

新的上手体验

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

产品内欢迎向导 :

https://code.visualstudio.com/updates/v1_63#_java

各种用户体验改进

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

  • 测试体验 - Test Runner for Java(测试插件)采用了来自 Visual Studio Code 的新测试用户界面 ,在特性、功能和易用性方面有了更好的体验。

  • 项目管理 - 从 11 月的更新后,我们不再在项目根文件夹中生成 .project 元数据文件!这是社区中呼声最高的问题之一,我们终于提供了一个期待已久的解决方案。点击下方查看我们是如何解决该问题的。

  • 代码操作 - 我们在代码优化建议中添加了一些功能,以便用户更容易生成 Getter / Setter 和构造函数等,我们将继续致力使代码相关操作更易于访问。

新测试用户界面 :

https://devblogs.microsoft.com/java/java-on-visual-studio-code-update-july-2021/

解决方案 :

https://devblogs.microsoft.com/java/say-goodbye-to-project-files-in-1-1-0/

添加的一些新功能 :

https://devblogs.microsoft.com/java/java-on-visual-studio-code-update-september-2021/

GitHub Codespaces 中的 Spring 支持

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

如果您想了解 2021 年我们所做的所有改进,请查阅下方的阅读推荐。

GitHub Codespaces:

https://github.com/features/codespaces

用户增长

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

2022 年产品路线图

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

基础开发体验提升

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

Project Loom:

https://blogs.oracle.com/javamagazine/going-inside-javas-project-loom-and-virtual-threads

性能和可靠性

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

构建工具

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

Gradle for Jave:

https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-gradle

Maven 扩展 :

https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-maven

更好的 Spring Boot 框架支持

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

  • 更方便的 Spring 组件创建(例如 Spring 项目和 Spring beans)

  • 常用 Spring 类以及组件的自动代码生成

  • 更好的 Spring 组件可视化视图(例如 Spring bean 关系图以及 REST API 映射列表)

  • 在 Spring Dashboard 中提供更好的 Spring 项目生命周期管理

  • 管理依赖关系时优化对 Spring 相关库的支持

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

Spring Boot 扩展包:

https://marketplace.visualstudio.com/items?itemName=Pivotal.vscode-boot-dev-pack

用户体验

我们关注的下一个领域是用户体验 (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 开发人员的绝佳体验。

Azure Spring Cloud:

https://azure.microsoft.com/en-us/services/spring-cloud/

远程开发插件 :

https://code.visualstudio.com/docs/remote/remote-overview

GitHub Codespaces:

https://code.visualstudio.com/docs/remote/codespaces

功能更新

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

Java 插件包中自带 JRE

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

不同平台插件的支持:

https://code.visualstudio.com/updates/v1_61#_platform-specific-extensions

Java 插件包 :

https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack

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 会有很多激动人心的更新,一如既往,您的反馈和建议对我们非常重要,将有助于我们未来的产品塑造。欢迎您在在留言板给我们留下反馈,期待你的留言!

反馈与建议:

填写中文问卷

https://www.research.net/r/vscodejava?lang=z

在这个文章下面留言

在我们的 GitHub repo 上创建 Issue

https://github.com/microsoft/vscode-java-pack/issues/new/choose

资源:

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

了解更多 Visual Studio Code 上 Java 的更多信息

https://code.visualstudio.com/docs/languages/java

逐步探索有关 Visual Studio Code 的 Java 教程

https://code.visualstudio.com/docs/java/java-tutorial

2022-05-06 00:01:19
0