Early Access Program IntelliJ IDEA

IntelliJ IDEA 2022.3 EAP 4: Jakarta EE 10, Hibernate 6.1 Features, Docker Updates, and More

IntelliJ IDEA 2022.3 EAP 4 is out! 

It brings a new way to work with projects in WSL2, numerous improvements to working with Jakarta EE 10, Hibernate, Micronaut, the HTTP Client, Docker, and more. This blog post covers these and other updates in detail. 

You can get the latest build from our website or the free Toolbox App, or via snaps for Ubuntu users.

Remote development (Beta)

A new way to work with projects in WSL2

IntelliJ IDEA Ultimate 2022.3 brings an alternative way to work with projects running in WSL2 file systems. Instead of running a full IDE on Windows, your IDE backend will launch directly in WSL2 itself. Then you connect to it the same way you would connect to any remote machine when using remote development in IntelliJ IDEA. This can provide better IDE performance when working with projects in WSL2.

Frameworks and technologies

Jakarta EE 10 support

IntelliJ IDEA Ultimate now provides full support for Jakarta EE 10. You can select it in File | New Project | Jakarta EE and create a project using the new specification versions.

Support for Hibernate 6.1 features

IntelliJ IDEA Ultimate 2022.3 features improved code insight functionality for the JPQL language and supports the latest Hibernate 6.1 APIs, including set operations (union, intersect, and except), filter operations, subquery selects, and set aggregations.

Code insight improvements for Liquibase 

We have extended the code insight functionality for working with Liquibase tools. You can now easily create new Liquibase changeset files by invoking File | New | Liquibase Changelog on a db/changelog/ directory.

Also, IntelliJ IDEA Ultimate now provides highlighting, code completion, and validation for Liquibase YAML files and suggests all the available code completion options in liquibase.properties files.

A new way to autowire bean dependencies

With IntelliJ IDEA 2022.3 Ultimate, you can now easily autowire Spring beans right from where you need them. To do this, either use the .autowire postfix template or apply a quick-fix by using the ⌥⏎ /Alt+Enter shortcut on the unresolved variable and selecting the Add dependency… option. The feature also supports CamelHumps matching, so you can just type owRepo to autowire a bean with the OwnerRepository class. This new way to autowire bean dependencies works for Spring, Micronaut, and Jakarta EE CDI.

Improved OpenAPI schema generation

IntelliJ IDEA Ultimate now provides an enhanced user experience when documenting web APIs with OpenAPI specifications. You can now instantly generate an OpenAPI definition for a Spring controller or JAX-RS resource from the Endpoints tool window or by clicking the inlay icon.

The resulting YAML file will also include request and response object schemas.

You can also generate an OpenAPI for the entire module by navigating to the Module context menu in the Endpoints tool window.

Improved navigation and inspections for dependency injection in Micronaut

There’s a new inspection that checks bean injection points and reports missing or ambiguous dependencies.

We’ve improved navigation to injected dependencies and inspections with bean qualifiers (such as @Named, @Primary, and others). 

Also, you can now navigate to an injected bean using a gutter icon.

Micronaut Data: improved MongoDB support

JSON fragments are now injected into Micronaut MongoDB query annotations. The IDE also provides code highlighting for operators and parameters and code completion for fields and operators. 

The navigation gutter icons are now shown for the Micronaut mapped entity classes and their fields, allowing you to easily open the Database tool window for the mapped collection.

Editing improvements for YAML 

There’s a new quick-fix to suppress inspections with a comment in YAML files, including Kubernetes files, OpenAPI specifications, and docker-compose.yml. 

We’ve introduced a convenient option to fold multiline comments that make up a block of 3 or more lines and start with #. 

Code style improvements for the HTTP Client

The HTTP Client now provides better formatting options for requests with long URLs. You can also use the Put query parameters on separate lines intention action to break the query into smaller fragments on different lines.

To control your preferences regarding HTTP request formatting, we’ve implemented a new option in Settings / Preferences | Editor | Code Style | HTTP Request | Wrapping and Braces.

HTTP Client: Pre-request scripts and new APIs for JavaScript handlers

The HTTP Client now supports script blocks executed before requests. You can generate some data before request execution and put it in the final request using variables.

IntelliJ IDEA Ultimate now also provides the сrypto API, making your code capable of computing the md5 or sha1 hash values for an HTTP request.

For simple cases, the IDE now features a new set of random variables.

Docker

Docker executable from WSL without Docker Desktop

As of v2022.3, IntelliJ IDEA supports connections to Docker that run in Windows Subsystem for Linux (WSL). You can set up such a connection in Settings / Preferences | Build, Execution, Deployment | Docker.

New intention action: Pull image 

There is now an easy way to pull a required image without running it from Dockerfile, docker-compose.yml, or even from tests using the Testcontainers. Simply call up the context actions (Alt-Enter / ⌥⏎) on the highlighted image name and then select Pull Docker image.

Support for the .dockerignore file type

We’ve introduced full support for .dockerignore files, including code highlighting and completion. These files are now taken into account when you build an image from the IDE.

Support for the heredoc format in Dockerfile files

Here documents allow you to redirect subsequent Dockerfile lines to the input of RUN or COPY commands. IntelliJ IDEA now supports this syntax, so you can use it to generate config files or multiline scripts right in your Dockerfiles.

Docker connections from Docker Contexts

You can now set up additional Docker connections using Docker Contexts if you already have such settings in your Docker config. You can do so by calling the Add Service context menu in the Services view and selecting Docker Connections From Docker Contexts.

Deprecated Docker Machine removed from the list of supported connections

Since the Docker Machine has been deprecated by Docker, we’ve removed it from the list of connections in Settings/ Preferences | Build, Execution, Deployment | Docker

If you’re an active Docker Machine user, you can still connect to it with an API URL. You can either get a list of Docker machines and enter the corresponding URL there, or enter the path to the certs folder.

These are the most notable improvements in the IntelliJ IDEA 2022.3 EAP build #4. You can find the full list of updates in the release notes.

We look forward to receiving your feedback in the comments section below or on Twitter. If you encounter any bugs, please report them to our issue tracker.

Happy developing!

image description