IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
IntelliJ IDEA 2023.3 EAP 7: More Updates For Kubernetes, Improvements For Java, and More
The IntelliJ IDEA 2023.3 Early Access Program is nearing its end, and we’re switching our focus to refining the new features for the final release. However, there are still significant improvements, and you have the opportunity to test them in the latest EAP build before the major release.
You can download the latest build from our website, through the free Toolbox App, or via snaps for Ubuntu.
Download IntelliJ IDEA 2023.3 EAP 7
This EAP build comes with more improvements for Kubernetes, including importing cluster contexts from a file, auto-installation of Kubernetes tooling, and more. We’ve also introduced several valuable improvements for Java.
Take a look!
Kubernetes
Option to add cluster contexts from a file
In IntelliJ IDEA 2023.3 EAP 7, we’ve refined the user experience when working with Kubernetes. Previously, you could only add clusters with contexts stored in the system directory ~/.kube/config
. When removed from the Services tool window, these contexts remained in the system directory and were accessible by other tools for working with Kubernetes.
Now, you can easily connect kubeconfig
contexts from clusters located in directories outside of the required system. The project will include links to kubeconfig
files, making these clusters available while working on your project. This allows you to connect different sets of clusters to various projects. The kubeconfig
contents added in this way won’t be copied to or modified in the system (~/.kube/config
). This feature is especially useful when you frequently add and remove Kubernetes clusters from cloud or on-premises environments. If you delete a cluster added from a file in the Services tool window, its kubeconfig
file won’t be deleted, so you won’t lose access to the cluster, and you can add it back whenever needed.
Auto-installation of Kubernetes tooling
When you start using the Kubernetes plugin, which is now bundled with IntelliJ IDEA, it may require kubectl and/or Helm tools to be installed. If you don’t have them on your computer already, the IDE will offer to automatically install them for you.
Improved debugging with Telepresence
Telepresence allows you to debug the microservices of a Kubernetes application locally, as if your workstation was a part of the cluster. By connecting to the cluster using Telepresence, you gain access to the cluster’s namespace from your workstation and can interact with the DNS names of other microservices. With Telepresence Interception, you can redirect traffic from other cluster services to selected ports on your workstation and debug microservices entirely locally using familiar IDE tools.
In this release, we’ve refined the Telepresence workflow, making it more accessible by moving it to the cluster’s context menu. We’ve also enhanced the management of Interception for a smoother debugging experience.
Support for import
block in Terraform
We’ve supported the top-level import
block in Terraform Configuration Language 1.5. Import
allows bringing the current infrastructure under Terraform management. Using import
within a code block becomes part of the standard plan and apply cycle and ceases to be a state operation. For imported resources, Terraform performs automatic code generation, saving time in developing infrastructure as code.
Java
Reworked code completion for static methods
We have enhanced code completion for utility methods, which are often static and located in other classes. Now, when the target class is the first parameter, static methods are treated the same as instance methods, making relevant completion suggestions more discoverable. To keep the code completion popup uncluttered and provide faster access to the desired suggestion, we’ve implemented a behavior where the sought-after option appears on the second code completion request, requiring you to invoke code completion twice. This may be changed in the future as the feature evolves.
Improved inspections for constant conditional expressions
IntelliJ IDEA’s code analysis now covers more scenarios when identifying and highlighting potential errors in conditional expressions that always evaluate to the same value. For example, the IDE is now capable of recognizing possible string length or estimating string concatenation outcomes, prompting inspections when redundant or potentially problematic code is detected.
Here’s an example of how the inspection might be useful in real-life scenarios. In this code sample, extracted from the IntelliJ IDEA source code, the inspection evaluated the value of every expression and accurately inferred the condition, which is always Inner.
The inspection has been enhanced to also support and understand the use of Optional.stream
. The IDE can now detect instances where Optional
objects are converted into streams and warns you about potential issues or errors that might occur as a result.
These are the most notable updates contained in the latest EAP build. For the full list of newly introduced additions, consult the release notes.
As we approach the final stages of the IntelliJ IDEA 2023.3 Early Access Program, your feedback on the new features is crucial for us – we rely on it when shaping the final version of the release. Please let us know your thoughts in the comments below or on X (formerly Twitter). If you spot a bug, report it via our issue tracker.
Happy developing!