Two Million Java Developers on Visual Studio Code! November 2022 Update
December 19, 2022Hi everyone, we are excited to share that now there are over two million Java developers on Visual Studio Code, which wouldn't be possible without all the support from the community and our users, so thank you!
For the November update, we are bringing you new code editing features, such as postfix completion and optimized organize imports. In addition, the debugger gets a nice update, as we support a new feature called "Step Into Target". Lastly, we've made some visual enhancements to the Spring components.
So, let's get into it...
Postfix Completion
Postfix completion lets you add code snippets around an expression you've just typed and boosts your productivity.
It's a popular feature in JetBrain products and the community have requested this feature for our extensions as well. Through some investigation and changes to the upstream, postfix completion is now available in our latest release.
The postfix shortcuts we currently support are the following:
shortcut key | template content | description |
---|---|---|
cast | ((SomeType) expr) | Casts the expression to a new type |
else | if (!expr) | Creates a negated if statement |
for | for (T item : expr) | Creates a for statement |
fori | for (int i = 0; i = 0; i--) | Creates a for statement which iterates over an array in reverse order |
if | if (expr) | Creates a if statement |
nnull | if (expr != null) | Creates an if statement and checks if the expression does not resolve to null |
null | if (expr == null) | Creates an if statement which checks if expression resolves to null |
sysout | System.out.println(expr) | Sends the affected string to a System.out.println(..) call |
throw | throw expr | Throws the given Exception |
var | T name = expr | Creates a new variable |
while | while (expr) {} | Creates a while loop |
Here's a demo for this feature:
We plan to continue adding more postfix shortcuts so stay tuned.
Optimized Organize Import
Organize import is one of the most common actions for Java developers during code editing. We have made several optimizations regarding this scenario.
- Remove all unused imports from QuickFix
We have added this option to the QuickFix (the lightbulb icon) so you can remove all the unused imports all at the same time.
- Add all missing imports from QuickFix
If there is an unresolved class, you can also use QuickFix to add all missing imports and pick the classes from the dropdown
- Add all missing imports from source action menu
Another way to add all missing imports to right click to pull out the context menu, then select "Source Action", you will see "Add all missing imports" there as well.
Here's a demo for all features mentioned above
We are continuing to add more improvements around "organize import" scenarios and you can find all our future plans in this GitHub issue. Feel free to leave your feedback or comments there.
Debugging - Step Into Target
Debugging into a statement with many nested function calls can be painful because you might have to step through functions you are not really interested into.
To improve this scenario, the Debug Adapter Protocol has supported the "Step Into Target" feature that displays UI for directly stepping into the function you are interested in.
In our latest Extension Pack for Java, we have started to support this feature.
When debugging has stopped on a statement, you can select "Step Into Target" from the context menu, which allows you to directly step into the function or target you are interested in. Here's a demo for this feature:
Gutter Icons for Spring Components
Spring has always been our focus throughout the year. This time, we have added some visual enhancements to the editing areas so developer can better identify the Spring component and interact with Spring Boot dashboard.
With the latest release of Spring Boot Extension Pack, you will find gutter icons right next to Spring beans and endpoint mappings in the editor area.
This gives you visual clues that this is a Spring entity. When hovering on these components, a tooltip will pop up and you will see details about this component as well as a link to open it in Spring Boot dashboard. Here is a quick demo for this feature.
Install Extension Pack for Java
To use all features mentioned above, please download and install Extension Pack for Java on Visual Studio Code.
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.
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: [email protected]
Resources
Here is a list of links that are helpful to learn Java on Visual Studio Code.
- Learn more about Java on Visual Studio Code.