What's New in Amplicode 2024.2

We are pleased to announce that the second major release Amplicode in 2024 was successfully completed. This release introduces many improvements and fixes, as well as many new features. Here are some of them:

  • Gutter Icons for Spring Objects

  • Improved Spring Web Test Generation

  • Extends and Include Support in Docker Compose

  • Generating individual HTTP methods for REST controllers

  • Kubernetes and Helm support

Each of these features is described in more detail in the article.

Gutter Icons – One click to the most important actions

Now, instead of the Editor Toolbar in Spring objects, JPA entities and Spring Boot tests, you will see gutter icons (gutter icons) opposite the class names. One of them contains frequently used actions previously available in the Editor Toolbar.

In addition to the icon with frequently used actions, another gutter icon has appeared – Bean Navigation, showing the interaction of the current object with other beans.

From Bean Navigation you can see which beans are injected into the current bean and vice versa. This applies to both project beans and those used from third-party libraries. In addition, if an interface is injected, you can see all candidates for injection.

I talked about gutter icons from Amplicode in more detail in a separate video. Watch it to see this feature in action:

Improved Spring Web Test Generation

We have received many inquiries in our telegram chat with requests to improve test generation for Spring Web. Your activity helped us prioritize this functionality.

Improvements in test generation can be divided into two parts: UI rework and code improvements.

UI changes:

  1. Now the methods are sorted in the same way as in the controller.

  2. Next to each method, the path associated with it is displayed.

  3. The elements for working with request parameters and the request body have been reworked to match the behavior of most HTTP clients.

  4. PathVariable and RequestParam can now be easily distinguished thanks to clear labels.

Changes in code generation:

  1. String objects that represent JSON are automatically injected with the JSON language, causing the contents to be displayed as a JSON file rather than as a regular string.

  2. Reduced the number of generated local variables.

  3. Fixed a bug with incorrect transmission of multiple ids in requests.

Partial generation of CRUD REST controller

In the previous release of Amplicode it became possible to create CRUD Rest Controller for any JPA entity. You can now create individual methods for REST controllers, rather than just the entire controller. This is especially useful when you need to add a new endpoint to an existing controller.

Actions for creating individual endpoints are available in the Gutter Icon (1), the Amplicode Designer panel (2), and the Generate menu (3):

For each HTTP method, you can specify or create a JPA Repository, DTO/Domain Object, Proxy Service, and Request Path.

Reusing Services in Docker Compose

Docker Compose offers several ways to reuse services from one file to another. One such way involves using include.

The include keyword allows you to include one Docker Compose file into another. This method of including one file into another is convenient when you just want to reuse the same services without additional configuration.

Amplicode knows about Include in Docker Compose and takes it into account when displaying items in the Amplicode Explorer and Structure panels:

But if you need to customize reusable services to suit your needs, it is better to use a keyword extends. With its help, as with include, you can include a service from one Docker Compose file to another, but at the same time override any of its properties.

Amplicode supports this capability not only from a visual display perspective, but also helps directly during service expansion.

Now in the “Generate” menu you will find not only actions for creating services from scratch and recommendations for generating services based on those already declared in the current compose file, but also the “Extends Existing Service” action:

What's most amazing is that the Amplicode Designer panel will also take into account those properties that are not declared for the service in the current file, but are declared in the one we reference:

I talked about this feature in more detail in a separate video:

Kubernetes and Helm support

Docker Compose is great for setting up an environment and deploying multiple services on a single machine. However, production often requires more powerful tools like Kubernetes.

Amplicode now supports Kubernetes and helps generate Helm charts! You can create both empty Helm charts and ready-made charts for PostgreSQL, Kafka and Spring Boot applications.

In addition, launching charts has become even easier – now you can do it directly from the Amplicode Explorer panel, without having to access the console:

Finally, the status of running charts can be checked in the Services panel:

We can say that Kubernetes support is in preview stage and we will be glad to your feedback to improve the functionality according to your needs 🙂

And that is not all!

In fact, this is far from all that was included in the Amplicode 2024.2 release. In addition to major new features, we made many small improvements and fixes – a total of more than 170 tickets!

Let me remind you that the current version of Amplicode is currently available for 2 versions of IntelliJ IDEA: 2023.3, 2024.1. We plan to support IntelliJ IDEA 2024.2 in the near future. If you are experiencing difficulties with the transition to new versions of IntelliJ IDEA, you can still download and install Amplicode 2024.1it is available for more versions of IntelliJ IDEA.

A huge thank you to everyone who shares their experience of using Amplicode in our telegram chat. Thanks to you, among other things, we were able to prioritize some of the features that were waiting in the backlog, and also fixed some bugs 🙂

The next major release is planned for autumn. But until Amplicode 2024.3 is released, we will be stabilizing the current version and releasing updates with fixes. Subscribe to our resources to stay up to date:

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *