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

Yaojin Yang

欢迎回到八月份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刷新

对于我们的用户来说,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

在项目视图上,可以通过右键单击源文件夹来创建package和class。对于class,class模板文件将自动生成。

Image new class

编译和清除workspace

编译workspace支持完整和增量模式。

Image build and clean workspace

Maven整合

项目视图会自动检测Maven项目。您可以通过单击项目节点上的打开图标来快速打开pom.xml文件。

Image open POM

通过右键单击项目节点来运行Maven命令。

Image run maven commands

通过单击“Maven Dependencies”节点上的添加图标来添加依赖关系。

Image add Maven dep

更多改进

我们在调试支持方面进行了改进,例如,在编辑器标题栏上添加了运行和调试按钮以进行单个文件调试,并为JDWP添加了新配置。有关更多详细信息,请参阅Debugger for Java

更多信息

请不要犹豫,尝试一下!您的反馈和建议对我们非常重要,将有助于将来塑造我们的产品。

0 comments

Discussion is closed.

Feedback usabilla icon