News

VS Code Java Team Boosts IntelliSense Performance

Microsoft's dev team for Java on Visual Studio Code is working to improve IntelliSense performance in the popular open source code editor that acts like an IDE via its vast library of extensions.

"The performance of IntelliSense is highly impacted by the number of requests clients send to language server and the language server's capability to process these requests," said Yaojin Yang, senior program manager in the Developer Division at Microsoft, in a Sept. 10 blog post.

VS Code relies heavily on language servers to provide the language-specific "smarts" such as code completion through use of the Language Server Protocol.

The graphic below, from Microsoft's "Language Server Extension Guide" for VS Code, shows how the Language Server extensions for HTML and PHP work, communicating via the Language Server Protocol:

Language Server Protocol for HTML and PHP
[Click on image for larger view.] Language Server Protocol for HTML and PHP (source: Microsoft).

It is that communication that is being addressed by Yang and his team.

"Our improvements have been focused on cutting unnecessary client requests and optimizing language server's processing capability. Although the improvements will take a couple of iterations, we have already seen very positive results through our latest releases in August. In our test with the latest releases, we are able to achieve over 80 percent performance improvement."

His post includes the following table that shows the results as a measure of the duration between the client's request time and language server's response time. The explanation of the table is: "In a Java file with 5000+ lines of test code, trigger IntelliSense by typing Character 'S', and wait till suggestion popped up. Repeat 5 times for July and August releases respectively. Each time, we measure duration between client's request time and language server's response time."

#1#2#3#4#5Avg.
Jul. release742067456653505150636186.4
Aug. release923412469600752631.2

Other highlights of the August 2020 update to Java on Visual Studio Code include better debugging support, improvements to the newly introduced project view and more.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

Subscribe on YouTube