技术速递|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

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We