Java on VS Code Plans: Improve Inner Loop, Security, Remote Development & More
The regular monthly update to Java tooling on Visual Studio Code is light on new features but does provide a peek into future plans, which include improving the fundamental inner loop experience, security, remote development and much more.
As the dev team in charge of the Java Extension Pack and other tooling is halfway through the year, it published a July-to-December 2021 roadmap where much of the planned work is designed to improve the fundamental day-to-day experience in working with Java in VS Code.
Specific items for that inner-loop development experience include:
Continual investment on:
- Better code completion/navigation
- Package import
- Polishing the experience for handling large-scale and complicated projects, which will help developers working with enterprise-level codebases that often have complex layouts
- Enhancing performance and reliability
On the security front, the team highlighted the new Workspace Trust feature that gives developers the modal dialog option of "trusting" a folder upon opening it or a file in it. If the developer grants trust, things work as normal. If the developer indicates a lack of trust, further coding must be done in a restricted mode that guards against automatic code execution, as the project's code is not certified as being safe. This lets developers safely browse and edit code without having to worry about triggering malicious code exploits.
"For Java projects, we already started to work on supporting those new security features," the team said.
In fact, one of the few new features introduced in the June 2021 update pertains to just that: "When you work in an untrusted workspace, all our Java tools will be in restricted mode and certain capabilities will be disabled. To manage workspace trust, simply open command palette (Ctrl+Shift+P) and run 'Workspaces: Manage Workspace Trust' command."
Another area of focus going forward is remote development, particularly germane as the COVID-19 pandemic has forced a huge work-from-home movement around the globe, including developers.
One crucial component of remote work in VS Code is GitHub Codespaces, which provides a configurable online development environment that developers can use to work entirely in the cloud.
"Visual Studio Code plays a critical role in Codespaces as it provides the essential code editing experience," Microsoft said. "In terms of Java, the team is working on providing the support for Java language extensions in Codespaces so Java developers can find all Java related tools they need." Requesting access for Codespaces and other information is available in the official Codespaces documentation."
Other work will be done to support more Java versions and the Spring framework in containers so developers can leverage those technologies in remote development scenarios. Related to that is another new feature introduced in the June update: Java 16 is enabled in the remote dev container.
Other highlights of the July-December roadmap include:
- Build Tools Support: The team plans to add support for Gradle, a popular topic amongst the dev community for a long time. The first Gradle-related work will address task management and Gradle file authoring. The team will also improve the existing Maven tools experience and add new features to support more scenarios such as switching profiles.
- Testing: Visual Studio Code Java will adopt newly introduced Testing APIs. "This means when Java developers are dealing with tests in Visual Studio Code, they will not only be able to use a user interface with richer display of outputs, but also gain access to more testing metrics such as testing coverage."
- Debugging – Exploring Virtual Threads: Seeking better performance, the team will explore the possibility of enabling virtual threads powered by the new Project Loom. "Our goal is to increase the developer productivity and further optimize the debugging experience in Visual Studio Code Java."
Java-related resources available for VS Coders include Java in Visual Studio Code documentation and Getting Started with Java in VS Code tutorials.
David Ramel is an editor and writer for Converge360.