Nick Zhu from Microsoft VS Code Java Team

Hello and welcome to the special mid-year edition of the Visual Studio Code Java update. As the highlight of this article, we’ll look at the product roadmap for the next few months. We’ll also be showing off some important new features and improvements, so let’s get started!

Product roadmap for July to December 2021

Since we started releasing Java-related tools in Visual Studio Code, our product has gone through a lot of iterations and updates, and the support and feedback from developers and the community has been invaluable, so we really appreciate all the developers’ voices and suggestions, and please continue to contribute your valuable comments 🙂

For the next few months of Visual Studio Code Java (July to December 2021), we will focus on the following areas

Continuous improvement of the basic development experience

We will continue to improve the basic development experience, because it essentially affects our developers’ daily work. This includes better code completion/navigation, package import, compilation, debugging, testing, and more. In addition, we are constantly hearing about the need for our products to better handle large, complex structured projects, so we are further improving this experience, which will also help developers of enterprise code bases because enterprise project structures are often more complex. At the same time, we will also further improve performance and reliability.

Build tool support

Build tools and dependency management are a key part of the Java developer experience. We are looking to increase the breadth and depth of the field. In terms of breadth, we plan to increase Gradle support, which is what we’ve been hearing from the user community. Gradle’s initial feature set will revolve around task management and Gradle files authoring. In terms of depth, we will continue to improve the existing Maven tool experience and add new features to support more scenarios, such as switching configuration files.

Remote development/Codespaces

Remote development has always been a popular feature in Visual Studio Code that allows developers to use containers for a full-featured development environment. In the coming months, we will work to support more versions of Java and the Spring framework in the container so that developers can access these technologies in their remote development scenarios. We have just released support for Java 16 in the remote development container, as shown later in this article.

In addition, GtiHub Codespaces is a configurable online development environment that lets you develop entirely in the cloud. Visual Studio Code plays an important role in the Code space because it provides a basic Code editing experience. On the Java side, the team is working to provide support for Java language extensions in Codespaces so that Java developers can find all the Java-related tools they need. For more information on how to request access to code space, follow the official code space documentation here.

test

On the testing side, our team is actively applying the new testing API recently released by Visual Studio Code. This means that when Java developers work with tests in Visual Studio Code, they not only see a richer test-related UI, but they also get more test-related data, such as test coverage.

Debugging – Explore virtual threads

To provide better debugging performance in Visual Studio Code Java, we will also explore the possibility of enabling virtual threads (Project Loom). Our goal is to improve developer productivity and further optimize the Visual Studio Code Java debugging experience.

security

Visual Studio Code takes security very seriously, and we do our best to ensure that you can safely browse and edit Code, both source Code and the original author. The new workspace trust feature lets you decide whether your project allows or restricts code execution.

For Java projects, we are already working to support these new security features. First, when you open a Java project in an untrusted workspace, the Java language server runs in restricted mode and provides limited support. We will show this later in this article.

The chart above summarizes our product roadmap for July to December. If you have any further comments or suggestions, please let us know.

New Features Showcase

In addition to our roadmap, we also have some new features to show off this month.

Restricted Java language support in an untrusted workspace

In our roadmap sharing above, we emphasized the importance of security to our developers. With the latest Visual Studio Code update, developers can choose whether to trust the workspace or not. For Java developers, this means that when you work in an untrusted workspace, all of our Java tools will be in restricted mode and certain features will be disabled. To Manage the Workspace Trust, simply open the Command Panel (Ctrl+Shift+P) and run the “Workspaces: Manage Workspace Trust” command

Enable Java 16 in the Dev Container for remote development

We have now enabled Java 16 in the development container for remote development. To use this feature, simply bring up the Command Panel (Ctrl+Shift+P) and run “Remote-Containers: Add Development Container Configuration Files”, then select “Java” and “16” in turn.

Feedback and Suggestions

Please actively use our products! Your feedback and suggestions are very important to us and will help us do better. There are several ways to give us feedback

  • Leave a comment under this thread
  • Create Issue on our GitHub Repo

resources

The following links and resources can help you get a better understanding of Java on Visual Studio Code

  • Learn more about Java on Visual Studio Code
  • Explore the Java tutorial on Visual Studio Code step by step