December 4th, 2023

2.5 million Java developers on Visual Studio Code! Roadmap for the next 6 months

Nick Zhu
Senior Program Manager

A big big thank you to the community!

Hi everyone, we are thrilled to share that Visual Studio Code now has a community of over 2.5 million Java developers. Much like our achievements in the past, this incredible milestone wouldn’t have been possible without the support from our amazing community and users, and for that, we want to extend our heartfelt gratitude!

Joint announcement: Microsoft and Red Hat shares roadmap of Visual Studio Code Java for next six months 

As a special update for this month, we are excited to share our roadmap for the next few months in collaboration with Red Hat. This collaboration represents our dedication to supporting developers and cultivating innovation within the open-source community. There are lots of exciting things to cover, so let’s get started.

VS Code Java Roadmap for next 6 months

Fundamental Experience

Fundamental experience is the foundation of everything. In this area, we will bring updates such as:

Java 21 support: Full support around Java 21 and upcoming JDK releases.

Enhanced Code Navigation: Seamlessly navigate through your Java codebase with improved efficiency and precision.

Advanced Debugging Capabilities: We’re introducing new debugging features to empower you in identifying and resolving issues more effectively.

Reliability:

Reliability is one of the most mentioned issues from our users in the past year. We want to improve the stability of our platform so you can focus on your code without worrying about language server glitches or crashes, or code completion stops. We aim to build a stable and consistent coding experience for the users.

Compatibility:

Compatibility is another major area of our focus. In this aspect, we are primarily targeting to improve Gradle development experience (such as project import success rate) on Visual Studio Code. In collaboration with Gradle, we just announced our open-source project of Build Server for Gradle in early November. We will continue to build on top of this project to ensure build results in Visual Studio Code are consistent with the output obtained by running Gradle commands, which ultimately will improve combability.

Performance:

Performance is always crucial to any development tool. From past user feedback we have consistently heard about performance issues under certain circumstances, therefore in the next several months, we are going to look into two areas:

  • Optimize JVM count and CPU/Memory usage per session
  • Improve performance with Spring projects

Code Completion:

Code completion quality impacts daily developer productivity. We’ve heard that our users want smarter coding assist with import statements. We’ve just added some nice support for this (shared in the next section) and there will be a few other code completion intelligence enhancements for the few next months as well.

Project Management:

Next area is project management. In this area, there are two parts. First part is to improve JDK configuration experience, this is something we wanted to do for both beginner and professional Java developers. The second part is to enhance the project creation and import experience. This includes:

  • Allow users to select project parameters parameters while importing (such as modules for multi-module projects)
  • When creating projects, offer option to create in new window or current window
  • User experience improvement for package/class creation

We hope these project management improvements can let users become more effective at using Java projects during the entire lifecycle.

User Experience:

In terms of user experience, we have realized that some of our features and settings are not easy to discover to our users. Therefore we plan to make several updates to make them easier to use and discoverable. This includes:

  • Provide a better path to code refactoring options
  • Easier discovery to Java language server status
  • Simplify Java language server settings and provide better groupings

We hope these UX changes will make some of the most common operations much easier for users to find.

AI:

AI has been quickly changing all aspects of how we build software, including the way we write code. Initially introduced in July, GitHub Copilot Chat is an AI companion in every step of your development cycle. In terms of user experience, it is a chat interface that allows developers to ask and receive answers to coding-related questions directly within a supported IDE. Recently announced in GitHub Universe, GitHub Copilot Chat is becoming generally available in December.

In addition, shared from the speakers in this session, soon the developers will be able to integrate with GitHub Copilot and GitHub Copilot Chat to extend their capabilities. Visual Studio Code Java is no exception, in the next few months we will explore how to leverage GitHub Copilot Chat to enhance your Java development experience, whether it’s finding an error, writing unit tests, helping debug code, adding dependencies, or managing Java projects.

Looking Forward

In addition to the updates we have provided above, Microsoft and Red Hat will continue to collaborate and deliver other upgrades, this includes more intelligent code completion enhancements and so on. We sincerely hope Java developers can get awesome experience on Visual Studio Code and please continue to provide us feedback whenever you can.

Feature Updates

In addition to the roadmap, we also wanted to share some exciting recent feature updates.

Easier Discovery to Static Import Type Settings

As we shared in the roadmap above, we are making some improvements to the import experience. Our code completion suggestions for static import statements is based on a “whitelist” mechanism, therefore users need to use a specific setting to input their favorite static members so these types will get high priority prompts when typing code. Previously, this setting is hard to discover. Recently, we have added this setting into the “Quick Fix” light bulb suggestion, making this much easier to find. Here’s a demo:

Static import setting

Smarter Code Completion for Static Import Types

Based on the setting above, we also realize that sometimes modifying the settings is not ideal enough. Therefore, we have also added some smart detection based on the current imported static members. If Visual Studio Code Java sees that there are some already some static import statements, when you type related code in your file, it will automatically suggest relevant code, without the need to modifying the setting, here’s the demo for this feature.

Smarter code completion for static import statements

Install Extension Pack for Java

To use all features mentioned above, please download and install Extension Pack for Java on Visual Studio Code.

Extension pack for Java

If you are a Spring developer working on a Spring Boot application, you can also download the Spring Boot Extension Pack for specialized Spring experience.

Spring boot extension pack

Feedback and suggestions

As always, your feedback and suggestions are very important to us and will help shape our product in future. There are several ways to give us feedback

  • Leave your comment on this blog post
  • Open an issue on our GitHub Issues page
  • Send an email to: vscjfeedback@microsoft.com

Resources

Here is a list of links that are helpful to learn Java on Visual Studio Code.

Author

Nick Zhu
Senior Program Manager

Developer at heart

0 comments

Discussion are closed.