Java on VS Code 8月更新|反编译器用户体验优化、新 Maven 项目工作流、代码高亮稳定性提升

news2025/1/17 6:17:22

作者:Nick Zhu
排版:Alan Wang

大家好,欢迎来到 Visual Studio Code for Java 的 8 月更新!在这篇博客中,我们将为您提供有关反编译器支持的更多改进。此外,我们将展示如何创建没有原型的 Maven 项目以及一项重要错误修复。让我们开始吧!

更多反编译器支持改进

上一篇博客中将强大的 Fernflower 反编译器引入我们的插件时,我们收到了来自社区的良好反馈。不过,根据目前的体验,我们仍然可以做了一些改进。我们主要覆盖了对两个主要案例的支持:

案例一:允许开发者在反编译源码和原始下载源码中切换

此功能将允许开发人员通过 Visual Studio Code 的弹出窗口在反编译的源代码和下载的源代码之间切换。这是一个演示。

案例一:允许开发者在反编译源码和原始下载源码中切换

案例2:支持“Attach Source”操作,以便开发者可以在需要时附属原始源代码。

有时,开发者想要附属原始源代码而不是反编译的代码,并调出上下文菜单并单击“Attach Source”,开发者可以轻松地做到这一点。这是一个演示。

支持“Attach Source”操作

我们希望通过用户体验改进,开发者将能更高效地使用反编译器的相关功能。

创建没有 Archetype 的 Maven 项目

除了反编译器体验改进之外,我们还对 Maven for Java 插件增加了新功能。在某些情况下,开发者只想快速创建一个没有任何原型的 Maven 项目,例如 Hello World 程序。我们最近发布的版本中启用了此工作流程。使用插件创建 Maven 项目时,开发人员只需从下拉列表中选择“No Archetype”,几秒钟内就会创建一个基本项目。这是一个演示。

创建没有 Archetype 的 Maven 项目

错误修复:不同步的代码高亮

除了上面的更新之外,我们最近从用户反馈中看到,我们的语义高亮显示有时会不同步,从而在阅读和键入代码时造成问题。我们花了一些时间来调查此问题并修复了该问题。以下是解决这些问题的 PR:

  • Fix wrong semantic highlighting due to out-of-date AST being used. by jdneo · Pull Request #2709 · eclipse/eclipse.jdt.ls (github.com)
  • Prevent caching outdated AST in CoreASTProvider by 0dinD · Pull Request #2714 · eclipse/eclipse.jdt.ls (github.com)

安装 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/960341.html

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

相关文章

LabVIEW计算测量路径输出端随机变量的概率分布密度

LabVIEW计算测量路径输出端随机变量的概率分布密度 今天,开发算法和软件来解决计量综合的问题,即为特定问题寻找最佳测量算法。提出了算法支持,以便从计量上综合测量路径并确定所开发测量仪器的测量误差。测量路径由串联的几个块组成&#x…

用于设计和分析具有恒定近心点半径的低推力螺旋轨迹研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

ShardingJDBC——基于JPA的读写分离实战

摘要 本博文主要介绍基于JPA的读写分离实战,帮助大家更好的学会使用读写分离。透明化读写分离所带来的影响,让使用方尽量像使用一个数据库一样使用主从数据库集群,是ShardingSphere读写分离模块的主要设计目标。 一、读写分离库的场景和设计…

一文了解tcp/ip协议的运行原理

接触代理ip的人都了解https/sock5等ip协议,那么TCP/IP 协议又是什么? 一、什么是TCP/IP 协议? TCP/IP 协议实际上是一系列网络通信协议的一个统称,他负责具体的数据传输工作,核心的两个协议包括TCP以及IP&#xff0c…

启动服务报错:Command line is too long Shorten command line for xxx or also for Spri

ommand line is too long. Shorten command line for ProjectApprovalApplication or also for Spring Boot default configuration. 启动springboot 项目的时候报错 解决方案: 点击提示中的:default:然后在弹出窗口中选择:JAR xx…

Apache Struts2漏洞复现之s2-005漏洞复现

0x01 声明: 仅供学习参考使用,请勿用作违法用途,否则后果自负。 0x02 简介: Apache Struts 2是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java ServletAPI,鼓励开发者采用MVC架构…

LNMT架构

所谓的LNMT架构 指的就是Linux操作系统上部署Nginx web服务器、MySQL数据库服务器、Tomcat中间件服务器 L linux N nginx M mysql T tomcat 单机部署 1,安装 apache-tomcat 2,移动目录 3,复制第二个tomcat 4,…

Annual Inspection

机动车年检流程【交警12123】APP 到【检查地方】门口墙上贴着 然后上缴钥匙,等待,本次等待不到半小时搞定,速度很满意, 发现检测人员把你的里程数纠正了。 给你的行驶证,打印这些字样:检验有效期至XXXX 再给…

代码仓库必知:git忽略文件规则。问题解决: gitignore文件没有忽略某个文件,就是提交不了

文章目录 问题背景一、Git种的忽略文件有哪些?二、设置忽略文件的方法 问题背景 假设我的文件叫a.tsx,在 git status 时检测不到它的改动记录,并且 git commit 不了! 强制推才可以。这样会影响开发进度,因为我们经常需…

nomachine连接无显示器的Ubuntu/Debian时黑屏

nomachine连接无显示器的Ubuntu/Debian时黑屏 原因:无外接显示器时,Linux不会启动桌面GUI,或者说显卡就根本没有启动,这就是所谓的headless mode。 解决方法:官方给出了一些解决方案,见NoMachine - Conne…

Java String类(1)

String类的重要性 我们之前在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据的方法分离开的方式不符合面向对象的思想&…

Cannal监听binlog

文章目录 一、canal概念二、canal使用场景四、Canal工作原理Mysql主从复制原理 binlog中的二进制日志binlog格式选择 Canal消费方式应用实践总结 一、canal概念 canal是用java开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。目前,ca…

【位运算】leetcode面试题:消失的两个数字

一.题目描述 消失的两个数字 二.思路分析 本题难度标签是困难,但实际上有了只出现一次的数字iii这道题的铺垫,本题的思路还是很容易想到的。 温馨提示:阅读本文前可以先查看我的【位运算】专栏的第一篇文章,其中包含位运算这类…

算法通关村14关 | 堆在数组中找第k大的元素应用

1. 在数组中找第k大元素 题目 LeetCode215:给定整数数组nums和整数k,请返回数组中第k个最大的元素, 思路 解题思路用三个,选择法,堆查找和快速排序。 我们选择用大堆小堆解决问题,“找最大用小堆&#xff…

查看GPU占用率

如何监控NVIDIA GPU 的运行状态和使用情况_nvidia 85c_LiBiGo的博客-CSDN博客设备跟踪和管理正成为机器学习工程的中心焦点。这个任务的核心是在模型训练过程中跟踪和报告gpu的使用效率。有效的GPU监控可以帮助我们配置一些非常重要的超参数,例如批大小,…

nas汇编程序的调试排错方法

nas汇编程序的调试排错方法: 1、查找是哪一步错了 2、查看对应的*.lst文件,本例中是"asmhead.lst" 3、根据*.lst文件的[ERROR #002]提示查看源码,改错。 4、重新运行编译,OK 1、查找是哪一步错了: nask.ex…

K8S:K8S自动化运维容器

目录 一.k8s概述 2.为什么要用K8S 3.作用及功能 4.k8s容器集群管理系统 二.K8S的特性 1.弹性伸缩 2.自我修复 3.服务发现和复制均衡 4.自动发布和回滚 5.集中化配置管理和秘钥管理 6.存储编排 7.任务批量处理运行 三.K8S的集群架构 四.K8S的核心组件 1.Master组件 …

【WebSocketIndexedDB】node+WebSocketIndexedDB开发简易聊天室

序幕介绍: WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 讲人话就是说:WebSocket 使得客户端和服务器之间的数据交换变得更加简单,在 WebSocket API 中,浏览器和服务器只需要完成一次握手&#x…

C/C++语言简易图形库EasyX库和EGE图形库

有些学校直接拿 VC 来讲 C 语言,因为 VC 的编辑和调试环境都很优秀,并且 VC 有适合教学的免费版本。可惜在 VC 里面只能做一些文字性的练习题,想画条直线或一个圆都很难,例如需要注册窗口类、建消息循环等等,初学者会受…

Qvirtualkeyboard使用及相关知识点

项目介绍 环境介绍:x86银河麒麟v10 arm银河麒麟v10 需求分析:在arm平台上(一个平板)运行qt程序需要使用软键盘,不会配置键盘和鼠标,故需要使用软键盘。 方案总结: 使用自己开发或者从网上下…