欢迎回到八月份 Visual Studio Code 的 Java 更新。在此更新中,我们将专注于性能改进和项目管理。
IntelliSense (又称 Code Completion ) IntelliSense 是最常用的 VS Code 功能之一。在仔细检查了当前的设计和实现之后,我们找到了几个可以改进性能的地方。简而言之,客户端发送到语言服务器的请求数量以及语言服务器处理这些请求的能力会极大地影响 IntelliSense 的性能。因此,我们的改进集中在减少不必要的客户端请求和优化语言服务器的处理能力上。尽管改进是一个循序渐进的过程,但通过 8 月份的最新版本,我们已经看到了非常积极的成果。在我们的测试中,我们可以将性能提高 80 %以上。我们测试的细节是:
CPU:2.9 GHz 双核 Intel Core i5
内存:8 GB 2133 MHz LPDDR3
操作系统:macOS Catalina 10.15.6
VS Code 版本:1.48.2
测试使用的扩展:
扩展| 七月版本 | 八月版本
Language Support for Java(TM) by Red Hat | 0.65.0 | 0.66.0
Java Test Runner | 0.24.0 | 0.24.2
Project Manager for Java | 0.10.2 | 0.13.0
Visual Studio IntelliCode | 1.2.9 | 1.2.10
在具有 5000 余行测试代码的 Java 文件中,通过键入字符“ S”来触发 IntelliSense,然后等到提示弹出。分别对 7 月和 8 月的发行版重复 5 次。每次,我们都会测量客户端请求时间和语言服务器响应时间之间的时间间隔。
| #1 | #2 | #3 | #4 | #5 | 平均
七月版本 | 7420 | 6745 | 6653 | 5051 | 5063 | 6186.4
八月版本 | 923 | 412 | 469 | 600 | 752 | 631.2
单位:ms
对于我们的用户来说,workspace 包含与 Java 项目无关的内容是很常见的。例如,在 Node 项目上工作,您的工作区可能包含“ node_modules”文件夹;使用 Git,您的工作区可能包含“ .git”文件夹。如果遇到这些情况,您可能会注意到刷新 workspace 的性能受到负面影响,因为需要处理这些不必要的内容。为了进行改进,我们引入了一个新配置“java.project.resourceFilters”,您可以在其中指定应从 workspace 刷新中排除的文件夹或文件。默认设置下,排除“ node_modules”和“ .git”文件夹。您可以通过单击 File->Preferences->Settings 菜单打开设置视图,然后在设置视图中搜索“ java.project.resourceFilters”。
7 月,我们推出了项目视图。我们的目标是允许您通过此单一视图访问所有与项目管理相关的功能。8 月,我们将更多功能整合到了视图中。
在项目视图上,可以通过右键单击源文件夹来创建 package 和 class 。对于 class,class 模板文件将自动生成。
编译 workspace 支持完整和增量模式。
项目视图会自动检测 Maven 项目。您可以通过单击项目节点上的打开图标来快速打开 pom.xml 文件。
通过右键单击项目节点来运行 Maven 命令。
通过单击“Maven Dependencies”节点上的添加图标来添加依赖关系。
我们在调试支持方面进行了改进,例如,在编辑器标题栏上添加了运行和调试按钮以进行单个文件调试,并为 JDWP 添加了新配置。有关更多详细信息,请参阅Debugger for Java。
请不要犹豫,尝试一下!您的反馈和建议对我们非常重要,将有助于将来塑造我们的产品。
了解有关Visual Studio Code上 Java 的更多信息。