Java on Visual Studio Code的更新 – 2022年1月
大家好,欢迎来到 Visual Studio Code Java 更新 1 月版!这是我们新年的第一篇博客,我们将回顾 2021 年的亮点,并分享我们 2022 年的产品路线图!除此之外我们还有一些令人激动的产品更新,让我们开始吧!
2021年回顾
2021 年对于 Visual Studio Code 上的 Java 支持是非常丰富以及忙碌的一年。我们对 Java 插件包中的各个板块都进行了重大改进。在这些更新中,我们想突出一些亮点:
Java 语言支持 1.0 版
2021 年,我们发布了Language Support for Java 的官方 1.0 版本,这标志着微软与红帽多年合作的重要里程碑和成果。此版本包含许多重要功能,例如 Java 17 支持、更简单的类型层次结构查找、源代码查找、Gradle Kotlin (.kts) 支持等。此外,我们还从 0.78 版本开始对代码补全性能进行了一系列优化。通过这些优化,我们看到平均代码完成响应时间减少了 60%。
Gradle for Java 插件发布
Gradle 支持一直是社区中的热门话题。 2021 年 10 月,我们正式发布了“ Gradle for Java ”插件,来应对开发者的 Gradle 需求。该插件现在有超过23万的下载量,我们希望继续对插件进行迭代。
新的上手体验
更好的上手体验始终是重中之重。 2021 年,我们在该领域进行了多项改进,包括在 Visual Studio Code 中为 Java 开发人员提供新的产品内欢迎向导。我们还重新设计了欢迎视图和帮助中心页面,以便新开发者可以找到他们需要的指引。
各种用户体验改进
在整个 2021 年,还进行了许多用户体验改进,以优化开发人员的整体工作掉率。这当中包括:
- 测试体验 – Test Runner for Java(测试插件)采用了来自 Visual Studio Code 的新测试用户界面,在特性、功能和易用性方面有了更好的体验。
- 项目管理 – 从11月的更新后,我们不再在项目根文件夹中生成 .project 元数据文件!这是社区中呼声最高的问题之一,我们终于提供了一个期待已久的解决方案。点击此处查看我们是如何解决该问题的。
- 代码操作 – 我们在代码优化建议中添加了一些功能,以便用户更容易生成Getter/Setter和构造函数等,我们将继续致力使代码相关操作更易于访问。
GitHub Codespaces中的Spring支持
除了核心 Java 插件更新之外,远程开发领域也有令人兴奋的更新。 2021 年 9 月,我们宣布通过与 VMWare 合作,目前在GitHub Codespaces上已完全支持 Spring 框架。开发者可以直接在浏览器环境中无缝开发 Spring 应用。
如果您想了解2021年我们所做的所有改进,请访问我们过去的博客。
用户增长
除了产品更新,在2021年我们还见证了年用户的增长。我们现在有超过 150 万用户在 VS Code 中开发 Java。这是用户不断给我们反馈的结果,也感谢来自社区中广大开发者的支持。
2022年产品路线图
现在让我们来展望2022年!新的一年,我们将关注以下领域:
基础开发体验提升
基础开发体验直接影响我们开发者的日常工作,这一领域将继续成为我们的重中之重。这包括努力提高我们的代码完成建议的智能性,提供更相关的代码片段生成,并根据用户的偏好提供各种快捷方式(例如“syso”和“sout”)。此外,我们将进一步提升我们的调试体验。我们会做一系列的改进,例如:允许对反编译的类进行调试、在变量视图中更快地求值以及支持lambda 表达式求值。我们还将探索 Project Loom 项目提供的虚拟线程,以提高调试的性能。此外,显示测试覆盖率是我们希望支持的另一个功能,这样可以进一步增强我们的 Java 测试体验。最后,我们一直致力于支持最新的Java技术,Java 18的支持也在我们的计划之中。
性能和可靠性
性能和可靠性是我们 2022 年关注的另一个领域。在这方面,我们希望提高 Java Language Server 的可靠性,减少 Java Language Server 无响应的情况。我们还从用户反馈了解到,如果有很多依赖项要下载,那么第一次导入项目可能会花费很多时间,因此我们也计划对此进行研究。最后但同样重要的是,我们将继续优化代码补全性能。
构建工具
构建和依赖管理一直是 Java 开发的关键部分,尤其是对于大型和多模块项目。我们将继续为Gradle for Java扩展添加新功能,并改进现有的Maven 扩展。
更好的Spring Boot 框架支持
Spring Boot 框架是最流行的 Java 框架之一,它允许开发者轻松构建微服务或 Web 应用程序。当前的 Spring Boot 扩展包包含许多优化 Visual Studio Code 上的 Spring 开发体验的功能,但我们听到了来自 Spring 开发者社区的反馈,并计划做更多的优化。我们将与 VMWare 合作对核心 Java 插件包和 Spring 插件包进行改进,以下是改进的一般方向:
- 更方便的Spring组件创建(例如Spring项目和Spring beans)
- 常用Spring类以及组件的自动代码生成
- 更好的Spring组件可视化视图(例如Spring bean关系图以及REST API映射列表)
- 在Spring Dashboard中提供更好的Spring项目生命周期管理
- 管理依赖关系时优化对Spring相关库的支持
通过这些 Spring 改进,我们确实希望 Visual Studio Code 上的 Spring 开发体验将比以往更加便捷。
用户体验
我们关注的下一个领域是用户体验 (UX)。在 2021 年,我们遇到了很多这样的情况:用户想要一个功能,但其实它是已经存在的,只不过因为很难发现而找不到。因此,使功能更易于使用和更容易被发现将是我们在该领域的重点。我们还认识到 Java 开发者可能来自不同的 Java IDE 背景,因此我们将更容易从其他 IDE 迁移设置和配置。最后,我们知道有很多学生开发者在 Visual Studio Code 中使用 Java,因此我们计划进行一些教育场景的改进,例如为没有构建工具的项目提供更好的 JUnit 测试端到端体验,优化 JavaFX / Swing 的项目创建工作流,以及更流畅的 Java AWT 包导入体验。最后,我们还将研究在我们的 Java 扩展中支持 Live Share。
云原生开发
近年来云原生一直是软件开发行业最热门的话题之一。在采用云原生开发方式时,开发人员需要处理微服务、云平台、Kubernetes 等等不同的技术。为了满足开发者在这方面的需求,我们计划探索与 Kubernetes 的更深层次集成,以及提供与不同云服务(如Azure Spring Cloud)的整合。借助 Visual Studio Code 的远程开发插件和GitHub Codespaces,我们的目标是让云原生开发成为 Java 开发人员的绝佳体验。
功能更新
除了路线图,我们还有一些令人兴奋的新产品要分享:
Java 插件包中自带 JRE
我们有好消息要告诉大家——借助Visual Studio Code中对于不同平台插件的支持,我们现在已将 JRE 嵌入到我们的 Java 插件中,这意味着用户不再需要担心配置 JDK 来运行插件,只需要为项目配置 JDK 即可 。我们还更新了入门体验和配置 Java Runtime页面(Ctrl+Shift+P:"Configure Java Runtime") 以反映此更改。对于新用户,只需安装 Java 插件包,下载项目所需的 JDK(支持 Java 1.5 或更高版本),创建 Java 文件,然后愉快地编码!
Java 代码格式化文件配置
我们经常听到开发者说他们需要为 Java 代码进行格式化文件的配置,但他们找不到好的地方来预览效果。为了解决格式化的问题,我们之前引入了一个视图,开发者可以在其中更改格式化设置并预览效果。您可以通过两种方式访问此功能:
第一个选项– 只需调出命令面板 ( Ctrl+Shift+P ),然后运行“Java: Open Formatter Settings with Preview”命令
第二个选项– 使用“Java:Help Center”( Ctrl+Shift+P ,然后运行“Java: Help Center”命令)。这将打开 Java 帮助中心页面,其中包含非常有用的功能和快捷方式的列表。在此页面上,只需单击“Configure Formatter Settings”。
使用上述任一选项将引导您进入格式化程序设置视图,您可以在其中轻松更改和预览 Visual Studio Code 中的代码格式化设置。
反馈与建议
2022 年,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 Visual Studio Code的更新 – 2022年1月的更多相关文章
- Java on Visual Studio Code的更新 – 2021年11月
Nick zhu Senior Program Manager, Developer Division at Microsoft 大家好,欢迎来到 11 月版的 Visual Studio Code ...
- Java on Visual Studio Code的更新 – 2021年6月
Nick Zhu from Microsoft VS Code Java Team 大家好,欢迎来到 Visual Studio Code Java 更新的特别年中版.作为这篇文章的重点,我们将看看接 ...
- Java on Visual Studio Code的更新 – 2021年7月
Nick zhu, Senior Program Manager, Developer Division at Microsoft 大家好,欢迎来到 7 月版的 Visual Studio Code ...
- Java on Visual Studio Code的更新 – 2021年8月
Nick Senior Program Manager, Developer Division at Microsoft 大家好,欢迎来到 8 月版的 Visual Studio Code Java ...
- Java on Visual Studio Code的更新 – 2021年3月
欢迎来到Java的VS Code更新.在过去的几个月中,我们的工程师一直在专注于一些非常重要的工作.现在,是时候揭开面纱了,开始吧. 类型层次结构(Type hierarchy) VS Code已经支 ...
- Java on Visual Studio Code的更新 – 2021年4月
杨尧今 from Microsoft VS Code Java Team 欢迎来到这一期的VS Code Java更新.又是一个忙碌而富有成效的月份. Java调试器和Java测试扩展获得了新功能.在 ...
- Java on Visual Studio Code的更新 – 2021年5月
杨尧今 from Microsoft VS Code Java Team 欢迎来到 5月的 VS Code for Java 更新.这次,我们将与您分享Java格式化设置编辑器和其他很酷的功能.开始吧 ...
- Ubuntu 14.04 下使用微软的跨平台轻量级开发神器 Visual Studio Code
因为 Visual Studio Code 不断更新,官方最新 v1.32 的 .deb 包已经不能用于 Ubuntu 14.04 直接安装了. 下载 v1.31 的 deb 包安装即可:https: ...
- Tool:Visual Studio Code
ylbtech-Tool:Visual Studio Code Microsoft在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Ma ...
随机推荐
- 快速上手FastJSON
前言 作为一名后端开发而言肯定会接触数据,把数据提供给前端或者把数据存储起来,目前比较火热的传输格式是json,给前端传json是再常见不过啦,甚至是往db里面直接存入json. 在java层面来说j ...
- Springboot在工具类(Util)中使用@Autowired注入Service
1. 使用@Component注解标记工具类MailUtil: 2. 使用@Autowired注入我们需要的bean: 3. 在工具类中编写init()函数,并使用@PostConstruct注解标记 ...
- nim_duilib(6)之listbox
introduction 更多控件用法,请参考 here 和 源码. 本文的代码基于这里 本文将演示listbox的添加,删除,删除选中项,添加到指定位置等常用功能. xml文件添加代码 基于上一篇, ...
- 【LeetCode】1165. Single-Row Keyboard 解题报告(C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典 日期 题目地址:https://leetcode ...
- 【LeetCode】769. Max Chunks To Make Sorted 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- Shell实现文件内容批量替换的方法
在Linux系统中,文件内容的批量替换同Windows平台相比要麻烦一点.不过这里可以通过Shell命令或脚本的方式实现批量替换的功能. 笔者使用过两个命令:perl和sed ,接下来会对其做出说明. ...
- 【jvm】05-为什么你写的代码有时候和预期不一致
[jvm]05-为什么你写的代码有时候和预期不一致 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请 ...
- 使用JavaScript数组实现省份和城市的级联菜单
查看本章节 查看作业目录 需求说明: 使用数组实现省份和城市的级联菜单.具体要求如下 在页面中添加城市时,根据选择的省份,动态地添加该省份的城市 页面加载完毕后,第一个列表框填充"两湖两广& ...
- centos6.5搭建LAMP
实验前准备 (1)service iptables stop #关闭防火墙 service iptables status #查看防火墙是否已经关闭 iptabl ...
- css 基础 选择器的使用
1.标签选择器解释:是针对一个标签做的样式,它会将匹配的所有标签都发生改变语法格式:标签名{ css样式代码 }2.类选择器特点:1.可以给某一个标签标记为一类,设定css样式,比较灵活 2.类目可以 ...