Java on VS Code 12月更新年度亮点回顾|实时内存视图、注入处理器支持与用户体验改进

news2025/2/2 3:04:26

作者:Nick Zhu - Senior Program Manager, Developer Division at Microsoft
排版:Alan Wang

大家好,一年的时间过得很快,我们已经来到了2022年的年底。回顾 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
  • 发送电子邮件到 vscjfeedback@microsoft.com

资源

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

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

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

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

相关文章

甲氧基聚乙二醇二苯并环辛烯mPEG-DBCO简介DBCO-mPEG科研实验用试剂

中文名:甲氧基聚乙二醇二苯并环辛烯 英文名:mPEG-DBCO;DBCO-mPEG 分子量: 1K.2K.5K.10k.20k.30k 溶解度: DMSO, DMF 储存条件: -20C 状态:淡黄色到白色固体,或者半固体,取决于分子量。 溶解性&#x…

网心科技马婷:探寻边缘计算的“诗和远方”

​​LiveVideoStackCon 2022上海站活动结束,每一次大会的举办对音视频领域都是新的洗礼,同时也带来了新的收获和挑战。随着音视频技术在各种行业、场景中的逐渐成熟,更多的业务形态、产品变换 、跨界案例等越来越多的部分值得我们探寻和研究。…

「网络工程师必会技能」-路由器介绍和路由器基本配置

「网络工程师必会技能」-路由器介绍和路由器基本配置,这是每个网络必须会的技能,不是你有证书就一个网络工程师了哦! 以Cisco路由器为例说明: (1)访问路由器。访问路由器与访问交换机一样,可以…

医院陪护小程序,专业的事情交给专业的人

陪诊服务这几年一直受到人们的好评,有了医院陪护小程序之后一些无法居家照顾老人的子女可以通过小程序为老人预约服务,陪诊平台的出现还让陪诊员有了正规的接单平台,不仅方便了人们下单找陪诊员还可以对陪诊人员坐正规的管理。那么在开发医院…

33.前端笔记-CSS3-2D转换

目录1、转换2、二维坐标系2.1 2D转换之移动translate2.2 2D旋转之rotate练习1练习2练习32.3 2D转换之缩放scale练习1练习22D转换综合写法转换综合练习1、转换 转换transform是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、缩放等效果 2、二维坐标系 2.…

Fabric.js 修改画布交互方式到底有什么用?

本文简介 点赞 关注 收藏 学会了 fabric.js 为我们提供了很多厉害的方法。今天要搞明白的一个东西是 canvas.interactive 。 官方文档对 canvas.interactive 的解释是: Indicates that canvas is interactive. This property should not be changed. canvas.in…

FPU与VFP最全面解释

本文希望能将FPU以及ARM中的FPU介绍清楚。 1. FPU(Floating-Point Unit) 浮点运算单元是处理器内部用于执行浮点数计算的逻辑部件,或者说硬件电路。不是所有的处理器都有该功能。浮点运算满足IEEE 754的标准,所谓IEEE 754标准&a…

关于Linux的动静态库

文章目录什么是动静态库生成静态库生成发布生成动态库发布使用库使用静态库查看系统头文件路径查看系统库文件路径使用库文件和头文件指定路径搜索头文件卸载库使用动态库动态库的运行搜索路径什么是动静态库 静态库(.a):程序在编译链接的时…

再携手,齐并进!菊风助力宁波银行坐席PUSH外呼项目

随着“金融数字化”逐步成为金融行业的新浪潮,运用更加灵活的触达手段提升营销效果,促成业务闭环愈发成为银行业等金融机构角逐数字化转型成功的关键。 在此背景下,金融机构对于实时音视频技术的应用也从普遍的「呼入」需求逐步扩展到创新的…

LinkedHashSet源码解析

LinkedHashSet源码解析 问题 (1)LinkedHashSet 的底层使用什么存储元素? (2)LinkedHashSet 与 HashSet 有什么不同? (3)LinkedHashSet 是有序的吗? (4&a…

Vue2与Vue3 setup的使用差异与对比

最近一直在做vue2的技术栈升级,于是心血来潮,就想要不写篇文章总结一下vue2和vue3在使用上的不同吧,于是乎,我们这就开始吧! 首先说明一下,vue3有多种写法,本文使用setup语法糖,不考…

硬核!Github 星标 79.4K 的阿里强推 Java 面试参考指南到底有多强?

谈到 Java 面试,相信大家第一时间脑子里想到的词肯定是金三银四,金九银十。好像大家的潜意识里做 Java 开发的都得在这个时候才能出去面试,跳槽成功率才高!但 LZ 不这么认为,LZ 觉得我们做技术的一生中会遇到很多大大小…

组件技术--设计--jsp+servlet+bean+MySQL 简单的登录注册案例

JavaBeanMySQLjspservlet 简单的登录注册案例登录注册案例需求核心系统组成Javaweb项目框架基本思想BeancounterUserDaoUserDaoservletLoginCljspindex.jspLoginServlet.jspregister.jspregisterMessage.jspwelcome.jsptargetpom.xmlWEB-INFweb.xml登录注册案例需求 本项目利用…

【论文阅读笔记】CycleISP: Real Image Restoration via Improved Data Synthesis

论文地址:https://arxiv.org/abs/2003.07761 代码地址:https://github.com/swz30/CycleISP 论文小结 总的来说,就是现实世界中无法获取有效的图像对。且之前合成噪声的方式是在sRGB上添加高斯白噪声,但对于相机传感器成像管道来说…

工控CTF之协议分析7——OMRON

协议分析 流量分析 主要以工控流量和恶意流量为主,难度较低的题目主要考察Wireshark使用和找规律,难度较高的题目主要考察协议定义和特征 简单只能简单得干篇一律,难可以难得五花八门 常见的工控协议有:Modbus、MMS、IEC60870、…

同源策略跨域

目录1.同源策略限制的意义1.请求协议 均为 http2.主机此这为 localhost3.端口号不同 一个 8080 一个 50002.注意3.解决跨域代理服务器 80801.同源策略限制的意义 让前端发送的请求不能随意访问其他端口的服务器,一定程度保护服务器和用户的隐私 1.请求协议 均为 …

nexus上传jar包

nexus上传自定义starter1、普通jar包和springboot的starter1.1、starter上传简介1.2、上传方法2.1.1、setting.xml文件2.1.2、项目中的pom文件1.3、具体部署2、父pom文件上传这里我们主要讲解两种,一种是jar包上传,包含普通jar包和springboot的starter包…

jmeter简单压力测试

测试目的:10个用户并发访问一个接口(http://127.0.0.1:8080/dfm/login.action),能否正常响应。 一、打开JMeter 二、右击“测试计划”,添加线程组 三、设置线程组的线程数 JMeter中的线程组,类似于LoadRunn…

RCTFweb复现

文章目录filechecker_minieasy_uploadfilechecker_plusfilechecker_pro_maxezbypassezruoyifilechecker_mini 给了附件,代码比较短,先审计一下。 在这里发现了file –b命令,且filepath部分可控,明显的ssti漏洞,没过…

Clickhouse引擎之kafka

Clickhouse kafka引擎需要结合kafka使用,需要确保已经安装clickhouse和kafka 实战环境: Clickhouse-server 版本:22.4.5 Kafka版本:kafka_2.13-3.2.0 Clickhouse数据库执行: 1、使用引擎创建一个kafka消费者 CREA…