技术速递|Java on VS Code 4月更新 - 未来产品路线图更新!最新 Java 22支持,项目配置体验优化!

本文主要是介绍技术速递|Java on VS Code 4月更新 - 未来产品路线图更新!最新 Java 22支持,项目配置体验优化!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:Nick Zhu
排版:Alan Wang

大家好,欢迎来到 Visual Studio Code 的 Java 四月更新!在本篇博客中,我们将分享未来几个月的路线图,以及最近的更新,例如 JDK 22 支持和重新设计过的项目设置体验,让我们开始吧!

未来 6 个月的路线图

我们很高兴与大家分享未来几个月的产品路线图!这个产品路线图有很多部分基于用户得来的反馈,因此我们要感谢社区提供的所有意见。我们将继续与我们的合作伙伴红帽一起努力,为 Visual Studio Code 上的 Java 开发人员提供最佳体验。以下是我们路线图的主要方向。
在这里插入图片描述

基础体验

支持最新的 JDK 是我们的首要任务。除此之外我们还将增加一些高级的代码导航和调试功能,因为这次会影响到开发者的日常工作体验。最后,我们将集成 javac 编译器替代我们当前的 ECJ 编译器以带来更好的构建体验。

性能和可靠性

性能和可靠性是我们次要的优先级,因为我们在这个领域听到了很多反馈意见。我们将专注于减少不稳定会话的数量,并优化每个会话的内存/CPU 使用率。

兼容性

去年我们发布了 Gradle 构建服务器时,社区给予了很多积极的反馈。在接下来的几个月里,我们将把用于Gradle for Java 插件(该插件应用了 Gradle 构建服务器)集成到我们的 Java 插件包中,并同时专注于提高 Gradle 项目的项目导入成功率。

项目管理

许多 Java 开发者来自传统的 Java IDE 背景,并提到他们希望拥有更好的 JDK 配置体验,因此我们将改进这个领域。此外,我们还将改进项目创建/导入体验和Java包创建工作流程。

用户体验

对于用户体验,我们主要会为开发人员添加更多的代码重构和操作选项,并使其更易于发现。我们还将使我们的 Java 语言服务器设置更易于发现。

AI

在AI方面,我们的插件将与 GitHub Copilot Chat 集成(现在它已经了具有可扩展性),以便 Java 开发者可以利用这种集成来使他们编写代码更加高效与方便,敬请关注。

产品更新

Java 22 支持

您已经可以在 Visual Studio Code 中使用 JDK 22 了。所有语言特性现在都得到了支持,以下是一些要点特性:

字符串模板(第二预览版)

这个功能在 JDK 21 中进行了预览,现在是第二次预览。其主要目的是为我们的程序提供一个比现有字符串连接代码更好的替代选项。您可以在此链接上查看此功能的详细信息。以下是此功能的演示。
在这里插入图片描述

隐式声明的类和实例主方法(第二预览版)

这个预览功能(也在 JDK 21 中进行了预览)主要针对 Java 学生和学习者,现在他们不必显式声明类或输入 public static void main(String[] args),类或 main 方法可以被隐式声明。请查看下面的演示。
在这里插入图片描述
这些只是 Java 22 的一部分特性。有关完整的特性列表,请查看参考文档。

请注意,如果您要使用 Java 22 的预览功能,请务必查看此文档,了解如何启用预览功能。

改进的项目设置体验

在过去的几个月里,我们收到了很多关于我们的 Java 运行时以及 Java 类路径配置体验的反馈意见。在我们的最新版本中,我们推出了一个重新设计的体验,具有简化的布局。要访问它,您可以打开命令面板,然后键入“>Java: Configure Classpath”。

新布局有三个标签,分别是 Sources、JDK Runtime 和 Libraries。

  • Sources – 允许您配置项目的源根文件夹
  • JDK Runtime – 允许您为项目配置 Java 运行时
  • Libraries – 允许您配置代码的引用库
    在这里插入图片描述
    对于每个标签,您可以执行不同的操作。以下是每个标签页的关键场景演示。

添加源文件夹
在这里插入图片描述
配置 JDK
在这里插入图片描述
添加外部库
在这里插入图片描述
执行所有操作后,请务必在底部单击“应用设置(Apply Settings)”。

我们希望这个项目设置的简化布局可以在您配置项目的不同关键组件时带来更好的体验。

安装 Java 插件包

要使用上述所有功能,请在 Visual Studio Code 上下载并安装 Extension Pack for Java。
在这里插入图片描述

如果您是一位 Spring 开发者,并且正在编写 Spring Boot 相关的程序,您也可以下载并安装 Spring Boot 插件包,获得与 Spring Boot 有关的专属开发体验。
在这里插入图片描述

反馈与建议

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

  • 填写中文问卷
  • 在这个帖子下留言
  • 在我们的 GitHub repo 上创建 Issue
  • 发送电子邮件到 vscjfeedback@microsoft.com

资源

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

  • 了解更多 Visual Studio Code 上 Java 的更多信息
  • 逐步探索有关 Visual Studio Code 的 Java 教程

这篇关于技术速递|Java on VS Code 4月更新 - 未来产品路线图更新!最新 Java 22支持,项目配置体验优化!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944320

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("