Early Access Program

IntelliJ IDEA 2023.3 EAP 3: Enhanced HTTP Client, Updates for Java, and More 

IntelliJ IDEA 2023.3 EAP 3 is out! 

You can get it from our website, by using the free Toolbox App, or via snaps for Ubuntu. 

The latest build features several notable enhancements for the HTTP Client, including support for OAuth 2.0, the ability to declare variables using @, and improved representation for .http files structures. Additionally, this update brings valuable improvements for Java development, enhances the user experience with speed search in tool windows, and provides quick access to editing actions through a floating toolbar.

This blog provides a detailed overview of the notable updates delivered with the IntelliJ IDEA 2023.3 EAP 3 build.

Frameworks and technologies 

Enhanced Structure view in the HTTP Client

We’ve improved the Structure view in the HTTP Client to streamline navigation within large .http files. This update introduces color-coded labels for request types and provides a clearer listing of their contents.

Support for in-place variables in the HTTP Client

The HTTP Client has been updated to include support for declaring variables using @. Now, you don’t need any extra environment files to reuse values between many requests, and the IDE provides code completion for these values so you can easily incorporate them in requests. 

OAuth 2.0 Support

The HTTP Client now provides support for authentication with OAuth 2.0 password and client credentials grant types. With this update, you can reference authentication data in your requests using the new syntax {$auth.token("my-keycloak1")} and navigate to the JSON file containing the authentication details.

This change streamlines the request execution process, eliminating the need to manually retrieve tokens. The IDE now automatically includes these tokens in your requests, and also displays the login form in the popup dialog displaying the IDE built-in web browser, that you can interact with if needed.  

New $auth access syntax for tokens:

GET http://localhost:8081/resource-server-jwt/foos
Authorization: Bearer {{$auth.token("my-keycloak")}}

With the new syntax, you can declare authentication settings in the Security and Auth JSON objects of the environment file, where each nested object defines an individual named setting.

{
  "dev": {
    "name": "value",
    "tokenUrl": "http://localhost:8083/realms/myrealm/protocol/openid-connect/token",
    "authUrl": "http://localhost:8083/realms/myrealm/protocol/openid-connect/auth",
    "Security": {
      "Auth": {
        "my-keycloak": {
          "type": "oauth2",
          "Grant Type": "Authorization Code",
          "Auth URL": "{{authUrl}}",
          "Token URL": "{{tokenUrl}}",
          "Redirect URL": "http://localhost:8080/myredirect",
          "Client ID": "myclient"
        }

Java 

Inspection for migrating from string concatenation to string templates

Following the release of string templates in Java 21, we’ve implemented a new inspection to streamline the representation of concatenated strings. The IDE will now provide a quick-fix suggestion to replace concatenation with the .STR template processor.

Move refactoring for local classes 

You can now apply the Move refactoring to local classes, allowing you to relocate them within your codebase. To do this, start by applying the Convert local to inner refactoring, which can be accessed through context actions or by pressing F6. Once the conversion is complete, invoke the Move refactoring by pressing F6 again and select the desired destination for the class.

User experience 

Code editing actions available via floating toolbar

IntelliJ IDEA 2023.3 EAP 3 introduces a floating toolbar to easily access and apply editing actions. The toolbar appears above the selected code fragment and provides editing options such as Extract, Surround with, Reformat, and Comment. The toolbar is integrated with context actions, featuring easy access to them.

You can use the kebab menu (three vertical dots) to configure the floating toolbar to your preferences. To hide it, you can either use the same menu, or go to Settings/Preferences | Advanced Settings | Editor and check the Hide floating toolbar for code editing option. 

Speed search available via shortcut

The Speed Search functionality, allowing you to quickly navigate within tool windows and dialogs, is now available via a shortcut. Once the focus is placed on a tree or list, you can easily invoke the search from the tool window’s Options menu, by pressing ⌘ F on macOS or Ctrl+F on Windows or Linux, or simply by starting to type your query.  

Also, you can assign a custom shortcut for the Speed Search function in Settings / Preferences | Keymap.

These are the key updates for this week! The complete list of changes is available in the release notes

We’d like to know your thoughts on these new features. Feel free to share your feedback on X (formerly Twitter), or by leaving comments in the section below. If you spot any bugs, please report them via our issue tracker.

Happy developing!

image description