The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

Quarkus Tools for IntelliJ 1.11.0 released!

We are very pleased to announce the 1.11.0 release of Quarkus Tools for IntelliJ. This release adds support for Qute templates but also align with LSP4MP 0.4.0 and quarkus-ls 0.11.1.

Qute templates

When a Quarkus project has Qute in the classpath, editing a Qute template (HTML / JSON / YAML / Text) will add new features into the editor.

Let’s do a little tour.

Integration between Qute templates and Java

Now any Template attribute will show the option to generate a corresponding Qute template, or navigate to the existing template file.

quarkus tools1

All Qute files paired with a corresponding Java resource support a number of language client features, such as go to definition, hover, autocompletion, etc.. Each of these we will explore further in the article

quarkus tools2

Method Parameter Support in Qute Templates

The Qute language server has support for built-in and user-defined Java classes, including parameter completion and validation for their methods. Take advantage of this to easily avoid Java related mistakes.

quarkus tools3

Java Type Hover Support for Qute Templates

Alongside support for Java completion and validation, the extension also supports type hovering for built-in and user-defined Java classes.

quarkus tools4

Qute Section Completion

Qute templates use sections in its templating language to power any logic required when compiling and displaying the resulting document. To support this, the extension’s Qute support populates a completion list with all available Qute sections, along with any parameters they take and a small code snippet of their usage.

quarkus tools5

Support for Qute Validation

Java and Qute validation is included for Qute templates with Quarkus Tools for IntelliJ, including diagnostics.

quarkus tools6

Completion for Qute Value Resolvers

Paired with corresponding Java methods, built-in Java classes also have built-in Qute value resolvers made available by the Qute templating engine that are evaluated and output, or resolve to, a value. Quarkus Tools for IntelliJ supports completion, hover and snippet generation for these built-in value resolvers.

quarkus tools7

Support for @TemplateExtension Methods

Template extension methods are used to extend the set of accessible properties of data objects. Qute support in Quarkus Tools for IntelliJ has support for marked @TemplateExtension Java methods, which extend a given data model.

quarkus tools8

Support for Directly Injecting Beans into Qute Templates

Support for Directly Injecting Beans into Qute Templates

A CDI bean annotated with @Named can be referenced in any template through cdi and/or inject namespaces. Quarkus Tools for IntelliJ provides completion and definition navigation support for Beans.

quarkus tools9

Improved features

In addition to the new Qute support, we’ve enhanced existing features around MicroProfile 2.0 and Quarkus 2.x new features.

Configs all the way down

While we had support for configuration profiles through property prefixing (eg. %dev.name), we now also support profile-aware files. We’ve added support for this, and many other features part of the MicroProfile 2.0 release.

quarkus tools10

MicroProfile Fault Tolerance

We’ve added basic validation support for @Bulkhead, @Timeout, @Asynchronous, and @Scheduled annotations.

quarkus tools11

Application Path support

When launching a Quarkus application, the code lens URL endpoints now supports @ApplicationPath and will take its value into account.

quarkus tools12

In this example, the @ApplicationPath is set to /api, and the code on the method declaration (below) takes that into account when generating the URL.

quarkus tools13

Completions

At the end of the day, everyone wants to spend less time trying to hunt down some obscure setting, and more time developing the logic.

If you’re using the @CacheResult annotation on a method in your Java sources, we automatically suggest the settings available to configure it from your configuration file. It’s also fairly reactive to changes so you’ll always know if something has gone wrong.

quarkus tools14

@ConfigMapping is now also supported with some basic validation as well as completion for the application properties.

quarkus tools15

Moving Forward

If you have any questions, suggestions or feedback, by all means please open an issue.

Thank you for reading and stay tuned for the next release!