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

Nick Z

大家好,欢迎来到 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 年,还进行了许多用户体验改进,以优化开发人员的整体工作掉率。这当中包括:

  • 测试体验 – Test Runner for Java(测试插件)采用了来自 Visual Studio Code 的新测试用户界面 ,在特性、功能和易用性方面有了更好的体验。
  • 项目管理 – 从11月的更新后,我们不再在项目根文件夹中生成 .project 元数据文件!这是社区中呼声最高的问题之一,我们终于提供了一个期待已久的解决方案。点击此处查看我们是如何解决该问题的。
  • 代码操作 – 我们在代码优化建议中添加了一些功能,以便用户更容易生成Getter/Setter和构造函数等,我们将继续致力使代码相关操作更易于访问。
GitHub Codespaces中的Spring支持

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

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

用户增长

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

2022 年产品路线图

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

Image roadmap2022chinese

基础开发体验提升

基础开发体验直接影响我们开发者的日常工作,这一领域将继续成为我们的重中之重。这包括努力提高我们的代码完成建议的智能性,提供更相关的代码片段生成,并根据用户的偏好提供各种快捷方式(例如“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组件创建(例如Spring项目和Spring beans)
  • 常用Spring类以及组件的自动代码生成
  • 更好的Spring组件可视化视图(例如Spring bean关系图以及REST API映射列表)
  • 在Spring Dashboard中提供更好的Spring项目生命周期管理
  • 管理依赖关系时优化对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”命令

Image formatterpreview

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

Help Center

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

Fpr

反馈与建议

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

资源

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

 

0 comments

Comments are closed. Login to edit/delete your existing comments