12月更新2022亮点总结 | Java on Visual Studio Code

news2024/11/17 0:28:46

大家好,一年的时间过得很快,我们已经来到了2023年。回顾2022年,我们的产品也经历了很多的迭代,在此之中,我们有几个亮点想与大家分享!

2022年的亮点

Spring Boot 插件的重大可视化体验升级

从今年年初开始,我们开始对 Spring Boot 插件进行一系列改进,旨在提高 Spring 开发者在 Visual Studio Code 上的工作效率。这包括 Bean 和 Endpoint Mapping 视图、Spring 应用程序的更多实时信息显示以及内存的可视化展示。我们希望这些改进可以让开发 Spring 应用程序变得更加容易,以及观察应用程序运行时的状态变得更加方便。

基础编码体验改进

编码经验对开发者的日常效率至关重要。2022年,我们进行了一系列重要改进,使 Java 开发者的编码生活比以往任何时候都更加轻松。这包括类似 IntelliJ IDEA 的后缀补全,更多生成代码片段的快捷方式,签名帮助优化等等。基础体验将继续成为我们未来的重点。

内置 Lombok 支持

Project Lombok 是一个流行且广泛使用的 Java 库,用于最小化或删除样板代码。从7月开始,我们的 Java 插件可以直接支持使用 Lombok 的项目,而无需安装任何额外的插件。我们还要感谢@GabrielBB,他启动了最初的 Lombok 插件。您可以在这篇博文中找到如何启用 Lombok 支持。

200万 Java 开发者使用 Visual Studio Code

11 月,我们分享了 Visual Studio Code 上有 200 万 Java 开发者的消息,这是一个重要的里程碑,我们要感谢社区的所有支持,谢谢!

除了2022的亮点之外,让我们看看最新版本的新功能!

2022年12月更新

Spring Boot – 实时内存视图

作为本月更新的亮点,我们引入了一个新的图形内存视图,作为 Spring Boot Dashboard 的最新成员。内存视图可以可视化正在运行的 Spring Boot 应用程序的内存和垃圾回收活动,与 Spring Boot Dashboard 的方式非常相似,它已经为您提供了对运行 Spring Boot 应用程序(如 Bean 和 Endpoint Mapping)的观察力。

内存视图下有四种图形可视化类型:

  • 堆内存(Heap Memory)——提供 JVM 中不同堆区域、使用的总内存和总内存大小的堆叠概览
  • 非堆内存(Non-Heap Memory) – 显示 JVM 中不同非堆区域相对于使用的总内存和总内存大小的堆叠概览
  • Gc 暂停(Gc Pauses) – 描述了 GC 事件的暂停时间的频率和持续时间
  • 垃圾回收(Garbage Collection) – 显示应用程序中 GC 事件的计数

内存视图使用 Spring Boot Actuator 数据从正在运行的应用程序收集数据。因此,只要您的项目具有 Spring Boot Actuator 依赖项,您就可以使用实时内存视图。

与 Beans 和 Endpint Mapping 视图相比,内存视图仅显示来自一个特定运行的 Spring Boot 应用程序的信息,它不会同时可视化来自多个正在运行的应用程序的数据。因此,您需要选择一个您感兴趣的应用程序。

这是此实时内存视图功能的演示。

Gradle 中的注解处理器支持

注解处理是自 Java 5 以来就存在的一个 Java 编译选项。它允许在编译期间生成其他文件,例如类或文档。如果我们正在使用 Gradle 并希望使用注解处理,我们可以通过将特定依赖项标记为 annotationProcessor 依赖项配置的一部分来实现。例如:

dependencies {
    annotationProcessor 'org.mapstruct:mapstruct-processor:1.3.1.Final'
    ...
}

在我们的最新版本中,我们在 Gradle for Java 插件中支持了注解处理,因此如果您在依赖项中标记了 annotationProcessor,您将能够在编译期间看到生成的文件。这是此功能的演示。

用户体验-更好的构建错误信息提示

当我们的插件程序检测到项目中的构建错误时,通常会有一个弹出窗口提示用户采取某些操作。但是,以前此弹出窗口存在某些限制。在我们的最新版本中,我们对两个主要场景进行了改进。

没有构建工具的项目

之前,如果工作区中有多个文件夹,只有一个文件夹出错,用户试图运行其他文件夹,我们仍然会提示用户错误信息,这造成了不好的用户体验。因此我们改进了此行为,现在我们只会在当前文件夹出现问题时提示生成错误消息,这是一个演示。

Maven 项目

我们还对 Maven 项目进行了改进。如果您有一个多模块项目并且其中一个依赖项存在错误,我们将提示您构建错误消息。但是,一旦该错误得到修复,提示就会消失,您将能够顺利运行该应用程序。请看下面的演示。

最后但同样重要的是,您可能已经注意到,提示现在已更改为“继续”、“始终继续”、“修复”,这样的提示将对用户更加直观。

2023年的 Visual Studio Code Java

我们要再次感谢大家在过去一年中给予的所有大力支持。提前祝大家新年快乐。2023年我们依然会有很多很棒的更新,敬请期待!

安装 Java 插件包

要使用上述所有功能,请在 Visual Studio Code 上下载并安装 Extension Pack for Java。

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

反馈与建议

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

  • 在本文下留言
  • 在我们的 GitHub repo 上创建 Issue

资源

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

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

欢迎获取更多有关 Java on VS Code 的资源和教程~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/150642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于springboot+mybatis+mysql+vue房屋租赁管理系统

基于springbootmybatismysqlvue房屋租赁管理系统一、系统介绍二、功能展示1.用户登陆2.管理员端主要功能2.房主角色端主要功能3.租客角色端主要功能三、其它系统一、系统介绍 功能说明: 普通用户角色: 寻找房源功能–提供了两种寻找房源的功能&#xff…

JS日期格式化——数字日期转中文日期(封装函数,dayjs时间格式化YYYY-MM-DD)

JS数字日期转中文日期往期相关文章场景复现封装函数(数字日期转中文日期)实际应用往期相关文章 文章内容文章链接JS数组对象——根据日期进行排序,按照时间进行升序或降序排序https://blog.csdn.net/XSL_HR/article/details/128579840?spm1…

10分钟完全理解golang context

当前go的各种源码中应该都可以看到context的使用,Context是golang 1.7的引入的核心结构,本质是为了处理go的并发控制问题。本文主要带大家深入理解context如何使用,为什么需要context和context设计原理。 并发控制问题 先来看下并发控制到底…

Unity 3D 使用高度图创建地形|| Unity 3D 使用笔刷绘制地形

Unity 3D 使用高度图创建地形 在 Unity 3D 中编辑地形有两种方法: 通过地形编辑器编辑地形。通过导入一幅预先渲染好的灰度图来快速地为地形建模。 地形上每个点的高度被表示为一个矩阵中的一列值。这个矩阵可以用一个被称为高度图(heightmap&#xff0…

Win11关闭Windows Defender实时保护,暂时关闭和永久关闭方法 | Win10怎么永久关闭Windows Defender实时保护

文章目录1. 按2. 暂时关闭Windows Defender实时保护3. 永久关闭实时保护3.1. 方法一:改组策略(Windows11实测可以)3.2. 方法二:改注册表(Windows11实测不行)1. 按 开启Windows Defender实时保护有时候会导…

HJ2 计算某字符出现次数

HJ2 计算某字符出现次数1 题目2 解法2.1 count_if 本题代码2.1.1 C STL非更易型算法--count_if介绍2.1.2 C中cin(),cin.get(),cin.getline(),getline()总结:2.2 一般做法3 【扩展】C STL--非更易型算法1 题目 题源链接 描述 写出一个程序,接受一个由字…

【HTTP】浏览器缓存(HTTP缓存)

文章目录一、强制缓存1.1、ExPires1.2、Cache-Control二、协商缓存2.1、last-modified2.2、etag浏览器缓存(Browser Caching)是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页…

在国内 PMP 有多少含金量?

PMP 证书已经在全球206个国家和地区得到认可,据 PMI 官方数据统计,截至2021,全球持有效 PMP 证书人数达110 W,国内占比28.98%,超33 W人次。 第一,PMP证书有什么价值? 01.PMP认证的重要性 PMP是…

Unreal UPROPERTY属性标记宏

BlueprintReadOnly,让该变量可在蓝图中访问。新建一个继承AActor的C类CustomActor,添加int变量TestProperty,并给他加上BlueprintReadOnly标记:这样,就能在蓝图中引用该变量。BlueprintReadWrite,让该变量可以在蓝图中使用以及修改。给TestProperty变量添加BlueprintReadWrite标…

【云原生进阶之容器】第二章Controller Manager原理2.7节--Indexer剖析

7 Indexer Indexer是client-go用来存储资源对象并自带索引功能的本地存储,Reflector从DeltaFIFO中将消费出来的资源对象存储至Indexer。Indexer中的数据与Etcd集群中的数据保持完全一致。client-go可以很方便地从本地存储中读取相应的资源对象数据,而无须每次都从远程Etcd集群…

复现yolov5CPP经验贴

源码: https://github.com/Hexmagic/ONNX-yolov5/blob/master/src/test.cpp 该源码亲测可行,但是还是有一些问题 此处改成False 此处改成自己转换好的onnx模型路径 用神经网络工具: https://github.com/lutzroeder/netron 用该工具可查看输入…

【UE4 第一人称射击游戏】24-添加人工智能的敌人跟随功能

上一篇:【UE4 第一人称射击游戏】23-添加子弹伤害本篇效果:步骤:将 导航网格体边界体积 拖入视口按P键显示区域将导航区域扩大一些如果不想让导航体覆盖上面的区域可以将导航体的高度降低一些打开“SimpleAI”,添加一个“Pawn感应…

Java Type

Type 是Java 编程语言中所有类型的公共高级接口(官方解释),也就是Java 中所有类型的”爹“。其中”所有类型“的描述尤为指的关注。它并不是我们平常工作中经常使用的int、String、List、Map等数据类型,而是从Java语言角度磊说&am…

shell练习之安全脚本

题目: 将密码输入错误超过4次的IP地址通过firewalld防火墙阻止访问 1.初始配置 首先使用systemctl工具启用firewalld服务: ​[rootlocalhost ~]# systemctl enable firewalld如果已经启用了,我们现在可以通过执行以下命令启动firewalld&a…

失败就是差一点的成功,社科院与杜兰大学金融管理硕士项目为你在职读研助力

失败的人,只差了一点点;成功的人,是多做了一点点;顶尖的人,则是再多做一点点。小事成就大事,细节成就完美,所以,千万不要只差那么一点,就放弃了。都说失败是成功之母&…

从Reactor模式俯瞰Nginx,你会发现你与高手的差距就在设计模式上

我们知道了Nginx是做什么的以及它为何如此高效,以至于全宇宙拿它来做负载均衡或者说web server。 但是如果你只是了解了使用和知道了原理就认为已经掌握了它,那只能说你肤浅了,原理和使用技能看看大家都知道了,没必要拿出去和别人…

快排递归、迭代的实现和两种优化方法

目录 快速排序 实现代码 时间复杂度 快排的优化 随机选择策略 三位取中法 非递归的快排 快速排序 快速排序算法是基于分治策略的一个排序算法,其基本思想是对于输入的子数组进行分解、递归求解,最后合并。 分解:以数组中左边第一个数作…

运行flutter doctor命令检测环境是否配置成功报错及解决方案

/** 运行flutter doctor命令检测环境是否配置成功,报如下错误**/ 1. cmdline-tools component is missing & Android licenses status unknown 1.1.安装cmdline-tools 1.2.配置android-licenses 运行命令flutter doctor --android-licenses,提示…

封装一个帧动画组件,使用的是精灵图

我写的是淘宝小部件,限制很多,用的是精灵图,说下大概思路,主要是通过背景图片的X Y轴去控制,首先创建一个组件 例: 然后在props定义需要的参数,可通过父组件传递修改 需要传入精灵图地址、单…

【云原生】Prometheus监控docker容器

部署node-exporter用于搜集硬件和系统信息 // 全部主机都要做 docker run -d -p 9100:9100 -v /proc:/host/proc -v /sys:/host/sys -v /:/rootfs --nethost prom/node-exporter --path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-point…