IntelliJ Platform: Latest Milestones and Achievements
Most JetBrains IDEs are built on top of the IntelliJ Platform, which is continuously being enhanced and improved in various ways. When the IntelliJ Platform team introduces a new feature or improvement to the platform, each IDE then “inherits” those, sometimes as-is and sometimes by adding customizations particular to the product and technology.
In this post, we’d like to give you an overview of the latest enhancements originating from the IntelliJ Platform. Some of them you may already be using; others you’ve heard about but haven’t tried yet; and some you might not be aware of at all. Hopefully, you’ll find something that will help raise your productivity or make your work more pleasant as you use the Rust plugin in IntelliJ IDEA, CLion, or GoLand.
IntelliJ-based IDEs are receiving a new UI, which provides easy access to essential features while progressively disclosing complex functionality. Our UI team carefully studied all the methods that assist developers while simultaneously reducing the burden of spending long hours in front of the monitor, thus improving the clarity of vision and thought. Clean, modern, and powerful – these are the words that best describe the upcoming UI!
The key changes are:
- Simplified main toolbar with new VCS, Project, and Run widgets.
- New tool windows layout.
- New Light and Dark color themes.
- Updated icon set.
To switch to the Beta version of the new UI, go to Settings/Preferences | Preferences | Appearance & Behavior | New UI.
It’s now possible to synchronize settings everywhere across all the JetBrains IDEs’ you use, including CLion, IntelliJ IDEA, GoLand, and others. The settings are stored in the cloud attached to your JetBrains Account, so you can conveniently reuse them. Enable or disable this behavior as you like and manage what precisely you would like to synchronize in Settings/Preferences | Settings Sync | Enable Settings Sync. Learn more for CLion or IntelliJ IDEA.
Preview for intention actions
Previously, when your IDE suggested intention actions – quick ways to apply simple modifications to your code – you had to first apply them before you would see what the resulting code looked like. Recently, the IntelliJ Platform helpfully added the ability to see the suggested changes in a special window before actually applying them.
On the face of it, this kind of preview only seems to reduce the number of additional actions required to apply intentions, but we think, there’s more to it than meets the eye. Intentions are at the heart of the code-editing process as we envision it, which can be summed up as coding at the speed of thought. The moment you conceive of how you want to change your code, the IDE is already offering you a helping hand in the form of an intention action. We trust that this new ability to preview the results of an intention action will help you get even more in tune with your IDE.
Few developers today could dispense with a particular type of VCS, which is why refining the interaction between a VCS and IDE is crucial. With that in mind, the IntelliJ Platform has added the following improvements:
- The Cloning repository progress bar on the Welcome screen.
- Annotate with Git Blame.
- Git File History works in the new UI without an index.
- IntelliJ-based IDEs provide you with Code Vision hints about code authorship based on the VCS history.
- The Review list for GitHub and Space was redesigned to help reduce cognitive load and provide the most important information about requests.
Docker and Kubernetes
These two technologies have permeated every developer’s life, we’re doing our best to make sure that our IDEs provide the best developer experience possible for working with Docker and Kubernetes.
In addition to supporting Docker in WSL, the Colima runtime, and Rancher container management (which allows establishing more options for Docker daemon connections), we’ve enhanced the Docker UI with redesigned containers, images, networks, and volumes actions.
Docker Compose hasn’t been left unattended, either. New Docker Compose targets can be created and configured to run and debug applications in containers managed by Docker Compose.
The Kubernetes plugin can now integrate with the Telepresence tool. Resources loaded from the cluster can now be modified from the editor tab, and the editor supports werf.yaml and related Helm template files.
Modern problems require modern solutions, which is why JetBrains provides remote development capabilities for today’s interconnected remote world. Whether you want to utilize the full power of a remote machine, secure sensitive information on a remote server, reproduce a development environment or even streamline tech interviews, – all of these scenarios are now possible with our tools.
Here are some highlights of how the latest releases have improved the experience of engineers using the remote development tool set:
- Improved debugging functionality and multiple actions for code examination when developing remotely.
- New widget showing CPU load, memory, disk capacity, and other parameters.
- New SSH key forwarding security setting that allows authenticating access to Git repositories from a remote machine without storing private keys on a remote server.
- The remote JetBrains Client now lets you edit more file types, such as PNG images, UML diagrams, Jupyter Notebook files, and Android layouts, on a par with text-based files.
Remote development integrations are now additionally available for:
If you use CLion, watch this webinar recording to learn more about the example remote development scenarios available.
While some enhancements are plain to see, others stay hidden even though they impact your everyday experience just as much, if not more. Here are just a few:
- IDE startup and indexing have become faster and the UI more responsive, which altogether contributes to a faster and smoother experience.
- Adopting the Vector API, which is designed to express vector computations that compile at runtime to vector instructions on supported CPU architectures, has allowed us to achieve performance superior to equivalent scalar computations.
- Search Everywhere has been refined, making search results more predictable and accurate. The Files tab results in shorter search sessions are now ranked using machine learning, making the overall experience more pleasant.
Software development is much more than just writing code in your IDE and building your apps. It’s also about effective teamwork, constantly learning new things, and sharing knowledge with others. Here are a few of our other tools that can help you do that.
The EduTools plugin is a beautiful tool designed to help you master a new programming language, like Rust, or pass on your programming insights to Rustlings and other students.
With our recently announced new vision for JetBrains Academy, you can now learn Java, Kotlin, Scala, Python, Go, and other programming languages, improve your existing skills right in your IDE, or create your own educational courses and publish them on JetBrains Marketplace.
Space is an all-in-one solution for software teams that brings all the collaboration tools together into one place, including project management, issue tracking, Git hosting, code reviews, continuous integration, package repositories, remote backend orchestration, and even chats.
Over the past year, IntelliJ IDEA and CLion bundled integration with Space so engineers with Space access could enjoy an abundance of benefits right off the bat.
If you’re already using Space, here are some updates for you concerning all the IDEs:
- It is now possible to orchestrate backends for your remote development process directly from any of the chosen IDEs. Learn more.
- While reviewing code changes in the IDE, you can post a review comment right away or save it as a draft.
We hope you’ll find some of these changes and features worth trying and adopting. Your feedback is important to us! Let us know in the comments below or on Twitter what else you’d like to see added to JetBrains IDEs or other tools that could help you be more productive with Rust.
Your Rust team
The Drive to Develop
Subscribe to Blog updates
Thanks, we've got you!