It's been a while since we last updated our Quarkus support with Quarkus Tools for IntelliJ and Quarkus Tools for Visual Studio Code. Recently, we've been focused on separating our free LSP support from the IntelliJ Quarkus project into a standalone extension, LSP4IJ, which now supports various language servers.
With the LSP4IJ project now established and increasingly integrated into other IntelliJ plugins, we can shift our focus back to enhancing our Quarkus support. This support offers consistent features across both VS Code and IntelliJ, thanks to the MicroProfile language server augmented with Quarkus-specific capabilities and Qute language servers.
It took us a year to develop the new LSP4IJ IntelliJ plugin from our LSP support, but it has proven to be a worthwhile investment. This move has facilitated the creation of numerous other IntelliJ plugins built on LSP4IJ and has generated significant interest and contributions from the community.
Quarkus Tools for IntelliJ 2.0.2
The version of Quarkus Tools for IntelliJ has been updated from 1.x
to 2.x
due to the shift of LSP support to the LSP4IJ IntelliJ plugin.
This new version brings several improvements:
Enhanced Qute support:
- Support for Template Records.
- Support for
@CheckedTemplate
attributes such asbasePath
anddefaultName
. - Support for Qute arguments.
- Improved validation with fewer false positive errors.
Upgraded Quarkus support:
- Resolution of system properties and environment variables in
microprofile-config.properties
/application.properties
. - Addition of Workspace symbols for JAX-RS endpoints(
#workspace-symbols-for-jax-rs-endpoints
).
Quarkus Tools for Visual Studio Code 1.8.1
The Quarkus Tools for Visual Studio Code 1.8.1 brings several enhancements:
Improved Qute support:
- Support for Template Records.
- Support for
@CheckedTemplate
attributes, includingbasePath
anddefaultName
. - Support for Qute arguments.
- Enhanced validation with reduced false positive errors.
Enhanced Quarkus support:
- Resolution of system properties and environment variables in
microprofile-config.properties
/application.properties
. - Added support for Reactive Routes.
Features
Below are details on some of the new features of Qute and Quarkus.
Qute support
Template Records are now supported similarly to existing Type-safe Templates and REST Integration support.
Figure 1 depicts a demo for IntelliJ Quarkus Tools (same support for VS Code).
@CheckedTemplate attributes
You can customize the base path and the HTML file name by using the Qute @CheckedTemplate
attributes basePath
, and defaultName
Figure 2 provides a demo for IntelliJ Quarkus Tools (same support for VS Code).
Qute arguments
Qute Arguments is now supported. This support provides completion, validation, and etc. for the special _args
keyword and their methods.
When _args
is used in a user tag, other HTML files that reference it no longer report errors for unknown attributes.
Below is a demo with IntelliJ Quarkus Tools (same support for VS Code) (Figure 3).
Quarkus support
The following improvements have been made to Quarkus support (below).
application.properties
System properties/environment variables
are resolved and appear in the code editor as inlay hints, as shown in Figure 4.
Reactive Routes support
Workspace symbols for JAX-RS endpoints
As LSP Workspace Symbol
has been implemented in LSP4IJ, we can now provide the capability to navigate easily to the JAX-RS endpoints by using standard IntelliJ Symbols
.
Below is a demo with IntelliJ Quarkus Tools (same support for VS Code) (Figure 6).
Getting support
If you encounter any bugs, confusing commands, or unclear documentation, or if you would like to propose a feature request, you can submit your feedback by:
- Filing your issue directly on GitHub (IntelliJ), GitHub (VS Code).
- Downloading the extension from VSCode and JetBrains Marketplace and providing extension feedback/reviews.