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 focus of this article, we’ll look at the product roadmap for the next few months. We’ll also be showing 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, thanks to the support and feedback from developers and the community, so we appreciate all the developers’ voices and suggestions, and please continue to provide your valuable comments 🙂

For Visual Studio Code Java in the coming months (July to December 2021), we will be focusing on the following areas

Continuous improvement of the basic development experience

We will continue to improve the basic development experience, as it essentially affects the day-to-day work of our developers. This includes better code completion/navigation, package imports, compilation, debugging, testing, and so on. In addition, we continue to hear that our products need to better handle large, complex projects, so we will further refine this experience, which will also help developers in enterprise codebases because enterprise project structures are often more complex. At the same time, we will further improve performance and reliability.

Build tool support

Build tools and dependency management are key parts of the Java developer experience. We are looking to increase the breadth and depth of the field. In terms of breadth, we plan to add Gradle support, which is something we’ve been hearing from the user community. Gradle’s initial feature set will revolve around task management and Gradle file creation. 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 profiles.

Remote development/Codespaces

Remote development has been a popular feature in Visual Studio Code, which allows developers to use containers for full-featured development environments. Over the next few months, we’ll be working to support more Java versions in the container, as well as the Spring framework, so that developers can access these technologies in their remote development scenarios. We 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 allows you to develop entirely in the cloud. Visual Studio Code plays an important role in the Code space because it provides the basic Code editing experience. On the Java side, the team is working on providing 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 a code space, follow the official code space document here.

test

On the testing side, our team is actively applying the new test API that was recently released in Visual Studio Code. This means that when Java developers process 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.

Debug – Explore virtual threads

To provide better debugging performance in Visual Studio Code Java, we’ll 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 original author. The new workspace trust feature lets you decide whether your project allows or restricts code execution.

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

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

New feature display

In addition to our roadmap, we have some new features that we’ll be showcasing this month.

Limited Java language support in untrusted workspaces

In our roadmap share 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 Workspace Trust, simply open the command panel (Ctrl+Shift+P) and run the “Workspaces: Manage Workspace Trust” command

Enable Java 16 in 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 on this thread
  • Create an Issue on our GitHub repo

resources

The following links and resources can help you better understand Java on Visual Studio Code

  • Learn more about Java in Visual Studio Code
  • Step-by-step exploration of the Java tutorial on Visual Studio Code