JetBrains IDE new Terminal Interface
blog.jetbrains.com
blog.jetbrains.com
Their software just improves my productivity out of sight.
If you look at the prices for other subscriptions, then look at Jetbrains, you wonder, "How do they do it?"
I guess they're just really good at software.
I'm a Emacs guy, and still use it when staging/stashing/committing stuff, but when I rediscovered JetBrains tools, it was such a joy to use, I've used WebStorm (with Datagrip paid plugin) as my daily driver ever since.
I like Emacs but JetBrains stuff just work without needing to search obscure config on the web, it's a breath of fresh air.
I know those existing primitives are 50 years old and suck in a great many ways. But the alternative is having a terminal that only works some of the time.
This is field I'm actively experimenting in too. And have already had some degree of success despite the project being only a couple of months old: https://github.com/lmorg/mxtty
My point is this: any refinements to the terminal interface shouldn't break support for terminal applications. But all to often (this term included) form is now prioritised over function.
Idk how they implemented things here, prolly by sidechanneling information to/from the terminal widget. Which is bad, they'd better use in-band terminal sequences for that, so the ecosystem of TEs and cmdline apps can eval the sequences and incorparate them, where they are useful (like the prompt marking OSC sequences...)
That all said, at this point in time I'm not discounting any ideas.
To each their own though, so if it doesn't work for you, then it doesn't!
I feel like this terminal is counterproductive. It adds visual niceties at the cost of dumbing down the power of the terminal and removing terminal feature that will be confusing to regular terminal users. It really doesn't have to be this complicated to be useful.
But all I ever wanted was simply the ability to disable line wrap.
https://youtrack.jetbrains.com/issue/IDEA-212620/Allow-a-use...
Nobody gets promoted for implementing a line wrap toggle in the old terminal, but they do for creating an entirely new terminal.
It can never beat the system terminal+shell setup you pick yourself (for me Alacrity+z4h zsh distro). I can only see it as a nice-to-have for when you for some reason cannot install your own terminal. The UI-UX divergence from the system-wide shell setup will always be too wide and incur a learning-curve/feature gap.
The visual separation of each command and output into block seems like a step in that direction?
Will surely check this out.
That's a reasonable suspicion, since my biggest gripe with the new UI is how it hides clear, text-based menus and labels behind more confusing icons.
I don’t really find myself digging through these menus often, instead using the action search for things I don’t know/map the keyboard shortcut to.
I find search dialogues to be annoying and counter to building intuitive memory for using an application. They're a "last resort" to me when the UI of a program is poorly made.
I tend to intuit functionality physically so I am often annoyed by layout changes.
Also not really convinced by the new UI (I tried it in Android Studio), mostly because I don't see anything wrong with the "old" one.
It doesn't even seem like it should be that hard to implement.
So I stand corrected.
Although it's not restored at launch (unlike the split in the editor).
I used to jokingly say "Jetbrains doesn't miss!" at new feature updates, but with the new UI and the force-installed AI Assistant plugin they have been hitting straight gutterballs lately.
Did something change in their leadership?
When I first tried 2024 EAP it was locked on the new terminal which was very slow and didn't have reverse history search. And no way to turn off the horrible fig style auto complete.
I'm a big jetbrains fan, but not a fan of this direction. My terminal is sacred
I effectively have that by sticking newlines into my PS1 variable.
And, yes, it's because its easier to track when the prompt is always in the same place after every command.
The standard prompt is PS1, which after every command, places the cursor at some point in the line that depends on the width of $PS1 contents.
By appending a newline to the existing PS1 variable, the cursor is always at the same point after every command - far left on the last line.
I did play with embedding the last command into the PS1 variable too, so that not only is the cursor at a constant position, but the line above it prints the last command too (!! or something like that)
I run i3 and typically will just open a terminal in a new workspace/monitor and use alt+whatever to flip back and forth between the terminal and the IDE. Terminals in IDE's always try to display the minimum number of lines they can get away with.
I'd rather memorize a keybind that works globally than an IDE-specific one.
» cat /etc/shells
# Pathnames of valid login shells.
# See shells(5) for details.
/bin/sh
/bin/bash
/usr/bin/git-shell
/bin/zsh
/usr/bin/zsh
/bin/rbash
/usr/bin/rbash
/usr/bin/bash
/usr/bin/shOther terminals, like iTerm (MacOS only), Kitty, WezTerm and so on also have similar options, usually behind some sort of "shell integrations" feature.
EDIT: Found some more info
iTerm calls it "prompt marks": https://arc.net/l/quote/muwfagqi
If you're also using Starship (https://starship.rs/), then you might want to look at this issue: https://gitlab.com/gnachman/iterm2/-/issues/10537#note_15803...
That's a gross misrepresentations of the value proposition of a terminal ui. Even when you are fully proficient in all UI elements, most UIs --- with very few counter examples [1] --- don't offer a comparable composability of commands.
[1]: The only ones that come to my mind are at the moment are, large graphics applications that provide an editable history of all commands that lead to the current state. That is arguable even more advanced than a terminal interface.
I'd love to see this released as a standalone terminal, like in the vain of iTerm2. I think that'd be really cool!
You can switch between the old and new terminal in Settings/Preferences | Tools | Terminal | Enable New Terminal.
I'm not what are you referring to?JetBrains IDEs are in a transition state right now where they have both a “New UI” that’s minimal and a cheap knock off of VSCode to lure the kiddos in, and the original “IDE-feeling” UI that’s arguably much better for actual work. A sort of approach like Reddit still having new and old years later.
The wording implies the new terminal is only available in the new JetBrains UI and not the old UI
That said (and with the understanding that I am, by nature, averse to changing my habits): I prefer the old UI by a long shot.
Equating being minimal with being cheap sounds about as smart as equating IDE with its UI. IDE is about functionalities not how big/small buttons are or how many panels you can show off at once.
All that said, I like the new UI. The top bar with the project/task/branch switcher is just perfect for my workflow, even if the tasks UI could do with a little more attention.
I don't think it's necessarily better but it's also not worse. I use their IDE at work, so figured I should just adopt before I get behind with new features since I do find their IDEs to be better than anything else I've tried still.
Yeah, I'd better like it if they didn't do that. This adds even more visual clutter.
> A new, convenient command history has been added, which allows for filtering and makes it easier to navigate through recently executed commands.
Why is ^r not enough? Oh, wait, they blocked access to that.
> We took full control over the prompt area of the terminal
So much for having a terminal in my IDE. It's not really a terminal anymore, or at least not in the sense that I'd call it a terminal, but more something that just barely fits the nomer of being a command+line interface.
I, for one, quite appreciate the redesign. Blocking ^r is too bad though, I tried the new terminal out a month or so ago, the redesign was nice and did feel optimized.
I ultimately switched back due to some issues with the autocompletion. I hope they've fixed these issues, things like makefiles would not autocomplete in this new terminal, while working fine in the 'old' terminal.
For now
I use Fish, because it has really nice tab completion, suggests recently used commands, and expands abbreviations. I hope JetBrains won't force this new behavior because that would kill all these useful features. If they want to fix the integrated terminal, they should start with the performance, TUI apps are virtually unusable there.
with that said, at least in the past, their IDE terminal was far from perfect (if you did a "clear" in the terminal, it really messed it up, at least from my experience).
This visually does look great, but a login required for a local terminal is a deal breaker for me.
Just log in first, please - 'valuation and stuff'
Christ they're pulling all the lead tricks. Supply an email to get a download link at the top, scroll down to find it listed.
Borderline insulting
Or maybe not...
Pretty neat !!!.
Was happy for a moment until I read the article.
Great! Now give me access to the AI assistant, since I have the “all products pack”, which one would assume includes “all products”. Spoiler: it doesn’t by a long shot
This is so wrong in the same way an ssh client isn't a terminal.
Also they could support limited features with other shells.