Java Blog in Chinese
欢迎来到Microsoft的Java中文博客,在这里可以找到与Java相关产品与服务的更新
Latest posts

Java on Visual Studio Code的更新 – 2021年11月

大家好,欢迎来到 11 月版的 Visual Studio Code Java 更新!在这篇年终博客中,我们将分享一些与Java基础开发相关的最新功能以及与应对编码问题的一些解决策略。 基础开发相关的功能会直接影响开发者的日常工作效率,提升这方面的用户体验将一直是我们的重点。在11 月的更新中,我们在这方面进行了多项改进: 项目管理 - 跟".project"等元数据文件说再见 如果您正在使用 Java扩展包进行 Java 开发,我们有个好消息要告诉您 - 当您导入新的 Java 项目时,Visual Studio Code 不再在项目路径中生成那些隐藏的“.project”元数据文件!这是一个已经存在三年多的问题,而我们在11月的版本中修复了它。如果您有兴趣了解我们是如何解决的,请可以访问这篇博客。 测试 - 在测试与测试对象之间跳转 在 11 月的版本中,我们添加了一项新功能,允许用户在测试和相应的测试对象之间跳转,这个功能将帮助用户更方便地编写单元测试 代码操作 - 更方便地生成构造函数和覆盖/实现方法 我们曾经在之前的博客中提到过,我们会一直致力让常见代码的操作更加易于使用。在最新版本中,用户现在可以使用 Java 类旁边的“灯泡图标”来方便地生成构造函数或覆盖/实现方法!以下是一个快速演示: 与乱码问题“打交道” 用户在处理各种语言时遇到...

和 .project 文件说“再见”—— VS Code Java 1.1.0 背后的故事

Language Support for Java 1.1.0 版本包含了一项重要更新:现在插件在导入新的 Java 项目时,项目元数据文件(.project,.classpath,settings等)默认将不再生成于项目路径下。这一问题 自 2018 年被记录至今已有超过三年的时间。本文旨在记录并分享我们解决这一问题的过程和最后的解决方案。 悬在头顶的“达摩克利斯之剑” 随着 VS Code Java 的功能逐渐丰富,用户数量也在稳步上升。但是由于 Java 插件在导入项目时,会在项目目录下生成元数据文件的问题,我们得到了不少的1星差评。可以预见,随着用户基数增加,因这一问题而造成的差评数量也会增加。这就如同一把悬在我们头顶的“达摩克利斯之剑”,如果不及时解决,问题随时都有可能爆发。 其实这并不是我们产品组不想彻底修复这一问题,根本原因需要从 Java 语言服务的架构说起: JDT Java Language Server 架构示意图 VS Code Java 项目背后所采用的 Java 语言服务的正式项目名称是 Eclipse JDT Language Server™,由微软和红帽联手开发。在上面的项目架构图中可以看到,我们在实现中复用了 Eclipse 的一些模块,而这些自动生成的元数据文件也正是由其中一些上游模块所产生。在 Eclipse 的讨论区中可以找到一...

Java on Visual Studio Code的更新 – 2021年10月

大家好,欢迎来到 10 月版的 Visual Studio Code Java 更新!在这篇文章中,我们将深入解析最近代码补全的性能优化。 性能提升 - 更快的代码补全 随着 Java Language Server 最近 1.0 版本的发布,我们对代码补全的性能进行了重大的改进。下图比较了最近几个版本之间的代码补全响应时间。对于补全类型、构造函数名等常见的场景,代码补全性能较之前版本(v0.80、v0.81、v.0.82)有显著的提升 性能改进总览 代码补全引擎由三个阶段组成: 根据我们的分析,我们发现所有三个阶段都有改进的空间。下表显示了我们在过去版本中所做的改进。我们将在下一节中更多地讨论这些变化的细节。 关键改动细节 版本 0.81.0 - 减少Windows I/O操作. #1831 在过去的性能测试中,我们发现很大一部分时间成本花在了计算文件 URI上面。这个发现佐证了我们之前的观察:由于JVM 中特定于平台的文件系统相关实现,Windows 平台上的代码补全性能相对较差。通过删除不必要的 URI 计算,我们提高了性能,尤其是在 Windows 平台上。 版本 0.81.0 - 对常量/默认值进行优化. #1835 当我们完成一个常量字段(例如 Constants.*)时,完成弹出窗口将在选择列表中显示建...

Java on Visual Studio Code的更新 – 2021年9月

大家好,欢迎来到 9 月版的 Visual Studio Code Java 更新。在这篇文章中,我们将分享我们最新的Gradle插件,更加方便的代码操作(Getter/Setter等等),以及最近的1.0 Language Server发布。 Language Server for Java™ 1.0 正式发布 最近,Language Server for Java™ 的1.0版本在 Visual Studio Code上正式发布了! 这是一个Visual Studio Code上Java支持上重要的里程碑,也是微软和红帽多年合作的结果。请访问这篇博客专题查看发布亮点以及未来计划。 Gradle for Java 插件发布 更好的 Gradle 支持一直是社区中最热门的话题之一。为了更好地满足开发人员对 Gradle 的需求,我们很高兴地宣布,我们发布了最新的“Gradle for Java”插件(之前称为“Gradle Tasks”插件)。此插件最初由@badsyntax 启动,现在由 Microsoft 维护。请注意,此插件目前还不是 Java 插件包的一部分,您可能需要单独下载它。 让我们来看看这个插件具体的亮点: 本地Gradle安装支持 在之前的版本中,项目文件夹中的 Gradle Wrapper是插件的一个要求,有用户提过需求(Issue #1004)来支持没有Gr...

Language Server for Java™ 1.0 在VS Code上正式发布!

今天,我们很高兴与大家宣布:Language Server for Java™ 的1.0版本在 Visual Studio Code上正式发布了!这是 Java 在 Visual Studio Code上的一个重要里程碑,也是微软,红帽以及整个社区之间多年合作的结果。在这里我们要感谢所有提出过意见或者做过贡献的用户,谢谢! 发布亮点 当我们开始发布第一个版本时,我们的目标是在 Visual Studio Code 上提供最好的 Java 开发体验。此后,我们一直保持每月1-2次的发布周期,经历了多次迭代。在这个 1.0 版本中,我们想重点介绍以下新特色 Java 17 支持 我们会始终尽全力去支持 Java 语言提供的最新技术。在我们的 1.0 版本中,我们的 Java 插件现在正式提供对 Java 17 的支持 性能改进 性能提升也是本次发布的另一个亮点。由于 LSP 规范中的新功能,我们能够推迟某些计算,从而在许多场景中为我们带来更好的性能。此外,更好的默认 JVM 选项可以用于改善更大更复杂项目的用户体验。我们还在很多特定场景做了细微的改进,以提高语言服务器的响应能力。 类继承体系 现在用户可以方便地在 Visual Studio Code 中轻松访问类继承体系!这是我们最近推出的一项功能,并且一直是 Java 社区中最热门的需求之一。 库源代码...

Java on Visual Studio Code的更新 – 2021年8月

大家好,欢迎来到 8 月版的 Visual Studio Code Java 更新。在这篇文章中,我们将分享 SpringOne 2021 大会的一些激动人心的更新以及各种用户体验方面的改进。 SpringOne 大会更新 Spring是Java整体开发中重要的一环,为了提供令开发者满意的Spring项目开发体验,我们的团队与VMWare长期合作,致力于在Visual Studio Code上对Spring相关工具有良好的支持。 在今年的SpringOne年度大会上,我们分享了 Visual Studio Code 中 Spring 工具支持的更新,并在大会中展示了各种与 Spring 相关的功能。 Spring与GitHub Codespaces 的完美整合 我们很高兴地与大家分享 - GitHub Codespaces 已全面集成对Spring相关框架的支持。这意味着开发者可以在浏览器中使用Visual Studio Code无缝开发 Spring 应用程序,并且无需在本地机器上安装任何东西。以下是一个在GitHub Codespaces上跑Spring Petclinic项目的简单演示。 我们在 SpringOne大会上就这个主题做了一次深度的分享。如果您对该内容感兴趣,请点击此处的链接观看整个回放。 Visual Studio Code上的Spring工具生态系统...

Java on Visual Studio Code的更新 – 2021年7月

大家好,欢迎来到 7 月版的 Visual Studio Code Java 更新。在这篇文章中,我们将分享我们整体产品路线图的进展,并重点介绍我们全新的测试体验,以及在Maven 和项目管理相关的改进。让我们开始吧! 全新的Java测试体验 随着 Visual Studio Code 1.59.0 正式版本的发布,全新的插件测试 API 也从试验版本进入了正式版本。自 2020 年 9 月起至今,经过了将近一年及数次版本迭代的打磨,不管是 API 的功能性还是易用性,与首个预览版本相比都获得了极大的提升。其中 Java Test Runner (包含在 Java 扩展包中)作为首批采用了测试 API 的插件,也发布了全新的 0.31.0 版本,在功能和用户体验上迎来了许多新的提升和亮点。接下来我们就通过 Java Test Runner 插件,看看新的测试 API 能帮助插件在测试的使用场景下提供哪些功能! 全新的Testing Decoration 现在用户可以在编辑器左侧区域看到一排新的按钮(Testing Decoration),直接点击会立即运行该行对应的测试用例,右键则能看到更多的选项。与过去的 Code Lens 不同,它可以减少在编辑区域内对用户的干扰。 功能更强大的测试浏览器 测试浏览器(Testing Explorer)焕然一新,现在用户可以自定义浏览器的显...

Java on Visual Studio Code的更新 – 2021年6月

大家好,欢迎来到 Visual Studio Code Java 更新的特别年中版。作为这篇文章的重点,我们将看看接下来几个月的产品路线图。我们还将展示一些重要的新功能和改进,所以让我们开始吧! 2021年7到12月的产品路线图 自从我们开始在Visual Studio Code上发布Java相关的工具后,我们的产品已经经过了大量的迭代以及更新,这当中开发者和社区对我们的支持和反馈功不可没,所以我们非常感谢所有开发者的声音和建议,并请继续提供你们宝贵的意见 :) 对于 Visual Studio Code Java 的未来几个月(2021 年 7 月至 12 月),我们将重点关注以下领域 基础开发体验的持续改进 我们将继续改进基本开发体验,因为它本质上会影响我们开发人员的日常工作。这包括对更好的代码完成/导航、包导入、编译、调试、测试等等。此外,我们也不断听到我们的产品需要更好地处理大型复杂结构的项目,因此我们也会进一步完善这方面的体验,这也将有助于企业级代码库的开发人员因为通常企业的项目结构会更复杂。与此同时,我们也将进一步提高性能和可靠性。 构建工具支持 构建工具和依赖管理是 Java 开发人员体验的关键部分。我们正在寻求提高该领域的广度和深度。就广度而言,我们计划增加对 Gradle 的支持,这也是我们一直从用户社区听到的反馈。 Gradle 的初始功能集将围绕任务管理和 ...

Java on Visual Studio Code的更新 – 2021年5月

欢迎来到 5月的 VS Code for Java 更新。这次,我们将与您分享Java格式化设置编辑器和其他很酷的功能。开始吧。 Java格式化设置 今天,在 VS Code 上更改 Java 格式化设置需要您浏览包含数百个选项的 XML 文件,更改该文件,并在无法预览更改的情况下应用到您的项目。此过程繁琐且容易出错。为了解决这个问题,我们引入了 Java格式化设置编辑器(Java Formatter Settings Editor). 编辑器对格式化选项进行了分类,并且可以预览更改。 要启动编辑器,请单击 Ctrl+Shift+P 打开命令面板(command palette),然后在面板上键入“java: open java formatter settings with preview”,并运行命令。更改后,右键单击编辑器选择“Format Document”,或在命令面板上键入“format document”并运行命令以将更改应用于您的项目。 从源文件生成测试 在 4 月的更新中,我们介绍了从测试文件自动生成测试方法模板。 5 月,我们进一步开发了该功能,现在您可以直接从源文件生成测试文件和测试方法模板。您可以右键单击源文件编辑页面,选择“Source Action...”,然后选择“Generate Test...”来生成。 其他 ...