The New Terminal (Beta) Is Now in JetBrains IDEs

News

TL;DR: The brand new terminal (Beta) is now in JetBrains IDEs and might be accessible within the new UI ranging from the 2024.1 model of the IDEs. You possibly can swap between the outdated and new terminal in Settings/Preferences | Instruments | Terminal | Allow New Terminal. At present, it helps solely Bash, Zsh, and PowerShell, with different shells in growth. This weblog publish covers the architectural and visible modifications and descriptions our plans.

Software program builders use terminals for a wide range of duties. Although it’s a fundamental factor of programming, the comfort of a terminal lies in its capacity to supply a common means of managing duties while not having to be proficient in all UI parts. Fashionable options, alternatively, include quite a few productiveness enhancements, akin to good layouts for the command immediate and output, command completion with an inventory of choices, AI-powered capabilities, and plenty of others.
Aiming to mix each fundamental and superior capabilities, the brand new terminal is a well-recognized instrument offered in a contemporary means and with an expanded set of options. Our objectives are to protect the performance of working in a terminal, improve comfort and ease, and deal with long-standing points. This text will information you thru the modifications to the terminal in JetBrains IDEs and our plans for the longer term.
Visible modifications
The brand new terminal aligns with the feel and appear of the brand new UI and is on the market in all JetBrains IDEs ranging from model 2024.1. The first visible distinction of the brand new terminal is that every command is now offered in a separate block. This helps you shortly find the beginning and finish of every command, enhancing the readability of the output. This variation brings different new capabilities, akin to simple navigation between blocks utilizing arrows and the ⌘↑ / ⌘↓ (macOS) and Ctrl+↑ / Ctrl+↓ (Home windows and Linux) shortcuts that allow you to simply swap between the immediate and output.

One other important change is the command completion characteristic that helps instructions, paths, arguments, and choices, geared toward simplifying command entry.

A brand new, handy command historical past has been added, which permits for filtering and makes it simpler to navigate via just lately executed instructions. The UX designers have additionally revamped the colour scheme – the palette is now aesthetically pleasing and straightforward to learn.

Architectural modifications
The brand new terminal isn’t just visible modifications, however a brand new structure that made these modifications doable. Listed below are probably the most notable modifications:
We took full management over the immediate space of the terminal. Now you can use editor actions and transfer the cursor with the mouse throughout command enter. At this stage, some shell shortcuts both don’t work or behave incorrectly. We’re working to deal with these points.
We reworked command completion that integrates all the IDE’s information into the strategies. Since we’re nonetheless engaged on this replace, some completion choices will not be accessible or they could differ from shell-based completion.
We added our personal command immediate, which reveals the present listing, Git department, Python digital surroundings, and Anaconda surroundings. That is supposed to supply a wealthy, trendy command immediate even when it isn’t configured in a shell. We perceive that some desire having the identical immediate as within the system terminal, and we’re engaged on an possibility to permit this.
How you can allow the brand new terminal
Ranging from model 2024.1, when the Terminal instrument window is opened for the primary time, you will note a promotional window for the brand new terminal. After that, you’ll be able to swap between the outdated and new terminal utilizing the three dots menu within the higher proper nook of your Terminal instrument window or through Settings/Preferences | Instruments | Terminal | Allow New Terminal.

In the meanwhile, we solely help a restricted set of shells: Zsh, Bash, and PowerShell. In the event you use another shell, you will note the outdated terminal even when the brand new setting is enabled.
What’s subsequent?
At present, we’ve solely taken step one in overhauling the terminal, and there’s far more work forward. Our quick focus is on enhancing the soundness of the brand new terminal and refining its present habits.
We plan to introduce extra terminal customization choices (fonts, spacing, and so on.), enhance command completion, add the power to change between the built-in and shell immediate, introduce context actions for blocks, and streamline tab administration within the terminal. Moreover, now we have plans to implement helpful AI capabilities, akin to aiding in command typing or explaining the obtained outcomes.
How you can present suggestions
The brand new JetBrains IDE terminal, which might be made accessible from v2024.1, is in Beta and at present present process modifications and enhancements. At this stage, your suggestions is essential to us. Our aim is that the brand new terminal could have the identical capabilities because the outdated one, whereas providing a number of useful new options.
As we’re at present within the growth course of, we acknowledge that some points could come up when interacting with the brand new terminal. Please report any points on YouTrack. Under you could find a number of hyperlinks to familiarize your self with identified points:
We plan so as to add a survey within the IDE the place you’ll be able to share your impressions of the brand new terminal. We might additionally be glad about any suggestions within the feedback part under. Thanks!