Early Access Program

IntelliJ IDEA 2023.2 EAP 7: LSP API Support, Redoc UI Previews, gRPC Requests via TLS, and GraphQL and WebSocket in the HTTP Client CLI

The release of IntelliJ IDEA 2023.2 is quickly approaching, but we still have some new features for you to try during the ongoing Early Access Program.

IntelliJ IDEA 2023.2 EAP 7 introduces a bunch of noteworthy improvements, including LSP support for plugin developers, Redoc UI previews for OpenAPI and Swagger files, and refinements for working with the HTTP Client, Spring, and other technologies and frameworks.

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

Read on to learn more about the new additions and refinements.

Frameworks and technologies

LSP support for plugin developers

With this EAP build, we’ve introduced a huge feature: the LSP API for plugin developers.

IntelliJ-based IDEs are well-known for their deep understanding of source code and their support for many programming languages and frameworks. While some languages and technologies are not yet natively supported, there may be a language server that could provide support for them.

The LSP API is mainly aimed at plugin developers who want to use a specific LSP server for coding assistance in the IDE. If you’ve made your own programming language or framework, you can get it supported in the IDE by writing an LSP server and a plugin.

Currently the LSP support includes error and warning highlighting, quick-fixes, code completion, and navigation to declarations. More features are coming soon.

A minimal fully functional plugin requires writing a few lines of code. The plugin implements the com.intellij.platform.lsp.api.LspServerSupportProvider interface and specifies which files it is going to support and how to start the server. The Prisma ORM plugin by JetBrains is open source and can be used as a reference implementation. The codebase is quite large, but a few classes are related to the LSP-based support – see the org.intellij.prisma.ide.lsp.* package.

Redoc UI previews for OpenAPI and Swagger files

IntelliJ IDEA now supports Redoc UI previews for OpenAPI and Swagger specification files, including YAML and JSON files, allowing you to switch between the Redoc and Swagger UIs within the IDE. With the Redocly integration, you can access the Try it console right from within IntelliJ IDEA and use it to set parameters and send requests to your API.

Support for GraphQL and WebSocket in the HTTP Client CLI

You can now use the HTTP Client CLI in IntelliJ IDEA to interact with GraphQL APIs and establish WebSocket connections with services, for example for tests or automation scripts.

gRPC requests using TLS in the HTTP Client

With IntelliJ IDEA 2023.2 EAP 7, you can now send gRPC requests over Transport Layer Security (TLS) in the HTTP Client. TLS provides encryption and authentication, ensuring the confidentiality and integrity of your data transmission. Both https:// and grpcs:// schemas are supported in the request syntax.

Inspection for the Norway problem in YAML files

With IntelliJ IDEA 2023.2 EAP 7 we’ve introduced a new inspection to eliminate the so-called Norway problem and prevent the unintended misinterpretation of Boolean values in YAML files.

When a list primarily consists of strings but contains a Boolean-like literal, IntelliJ IDEA will highlight this literal, indicating a potential inconsistency, and suggest adding quotes to it. If the list is mostly composed of Boolean-like literals (such as true, false, off, on, yes, no), any literal that deviates from this pattern is highlighted as a possible error, although no specific quick-fixes are suggested in this scenario.

Spring configuration beans no longer require the annotation processor

We have streamlined the user experience when working with custom configuration beans in Spring within IntelliJ IDEA. The IDE now provides code completion and validation in properties and YAML configuration files, without you needing to set up the Spring configuration annotation processor.

Run / Debug

JUnit continuous testing for Gradle and Maven projects

We have expanded the capabilities of the auto-testing functionality for JUnit, making it compatible with the Maven and Gradle build systems.

In addition, we’ve made it easier to activate continuous testing mode. To enable it, use the new Rerun Automatically icon located in the Run/Debug tool window. Whenever your changes are saved, the tests will run automatically, providing immediate feedback on your code updates.

Other 

Split of the Big Data Tools plugin into specialized plugins

For your convenience, we have decomposed the Big Data Tools plugin, allowing you to use its parts separately. This means six new plugins are available for IntelliJ IDEA:

  • The Kafka plugin lets you monitor your Kafka event streaming processes, creating consumers, producers, and topics. It also lets you connect to Schema Registry and create and update schemas.
  • Spark helps you work with Spark projects, run jobs, and monitor them.
  • Flink is the dedicated plugin for working with Flink projects, running Flink jobs, and monitoring them.
  • The Remote File Systems plugin is designed for working with cloud storages such as AWS S3, Alibaba, Google Cloud, and Tencent from the IDE. 
  • Big Data File Viewer  is helpful for previewing data from binary files in formats such as CSV, Parquet, ORC, and Avro files, as tables.
  • Zeppelin is the plugin for exploratory analysis, visualization, and prototyping jobs in Zeppelin notebooks. 

If you need all of these plugins, installing the umbrella Big Data Tools plugin is a convenient way to get them all in one click.

These are the most important changes implemented in the IntelliJ IDEA 2023.2 EAP 7 build. You can find the full list of changes in the release notes

With the Early Access Program nearing its end and the major release around the corner, we encourage you to take this opportunity to try out the new features and share your valuable feedback with us.

You can provide feedback through the Submit Feedback form in the Help menu, leave your comments in the blog post’s comment section, or reach out to us on Twitter. If you encounter any bugs, please report them using our issue tracker.

Happy developing!

image description