15 ms·
JetBrains IDE new Terminal Interface
- tnolet 3y agoI'm normally cynical bastard resistant to change. But Jetbrains new IDE styling is really good. I use it in WebStorm everyday and see no reason to move back to the old UI. Kudos Jetbrains.
- ivanjermakov 3y agoI found for myself that "compact" version of the new UI is not compact enough. And the only way around this is to reduce IDE's font size, which worsens readability.
- simfoo 3y agoSame here, if your "compact" mode is way less compact than what you had before you're doing it wrong Jetbrains. Information density is key when developing
- tnolet 3y agofor me it strikes the right balance between enough "white space" and density. E.g. VS code is not dense enough for me.
- wwilim 3y agoVSCode's file explorer tree is way too dense, though, the indents are not big enough by default
- corytheboyd 3y agoI don’t get the extreme hate around here for new UI. I turned it on just to see and felt nothing really changed. Maybe it’s because I almost exclusively use keyboard shortcuts? I can already feel the angry replies being smashed into keyboards…
- devmor 3y ago> Maybe it’s because I almost exclusively use keyboard shortcuts? 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.
- corytheboyd 3y agoWas there something in particular that you used often that was moved behind a confusing icon? 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.
- devmor 3y agoYes, I genuinely just use the menus for anything I don't use often enough to map a 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.
- corytheboyd 3y agoMakes sense! Don’t mean to do that annoying internet thing where I am saying you are wrong and I am right, just curious to hear more specifics about it, thanks!
- devmor 3y agoNah I get you. I think it’s just a personal mind difference thing. Some people intuit functionality verbally and I imagine that the action search is probably preferable to them. I tend to intuit functionality physically so I am often annoyed by layout changes.
- dakiol 3y agoI’ve never used the embedded terminal in any Intellij IDE. I prefer to run stuff on its terminal (more space, custom colors, familiarity, etc.)
- zogrodea 3y agoThat’s pretty cool. I wonder how JetBrains IDEs and VS Code manage to detect the installed shells (zsh, bash, PowerShell, etc.) in the first place since I certainly have no idea how to do it in either Java or JavaScript. Maybe they write platform-specific code?
- gillesjacobs 3y agoOn linux the default shell is simply in the $SHELL env var.
- everforward 3y agoIt's also in $0 when you open a shell. I'm not sure how portable that is, though.
- vladvasiliu 3y agoOn Windows I have no idea, but on Linux it seems easy enough: » 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/sh
- prmoustache 3y agoTrying to run it from its usual default path for each platform would be my guess.
- d_sc 3y agoI like the visual blocking of each command. Cool idea I haven't seen in other terminals.
- wmstack 3y agoSimilar concepts have existed for a while, such as Warp. The Chrome Devtools console is also similar in having blocks for errors and warnings. I wonder if Nushell can work with it.
- m1keil 3y agoApple's Terminal.app had similar functionality for a while: CMD+Up/Down to navigate between past commands and quick selection of command outputs. Other terminals, like iTerm (MacOS only), Kitty, WezTerm and so on also have similar options, usually behind some sort of "shell integrations" feature.
- niteshade 3y agoDo you happen to know how to configure this in iTerm? It's the one feature I miss the most from Warp. EDIT: Found some more info iTerm calls it "prompt marks": https://arc.net/l/quote/muwfagqi https://arc.net/l/quote/muwfagqi If you're also using Starship (https://starship.rs/ https://starship.rs/), then you might want to look at this issue: https://gitlab.com/gnachman/iterm2/-/issues/10537#note_1580336541 https://gitlab.com/gnachman/iterm2/-/issues/10537#note_15803...
- deleted 3y ago[deleted]
- hnlmorg 3y agoKonsole (part of KDE) does too
- TnS-hun 3y agoDo you have to enable that? There are no blocks for me.
- mattashii 3y ago> The primary visual distinction of the new terminal is that each command is now presented in a separate block 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.
- silon42 3y agoAnd here I was, thinking of implementing exactly that mechanism in an X terminal application. (haven't seen the JetBrains variant at all).
- Korimo 3y agoYou're free to turn it off, it's just an option. 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.
- switch007 3y ago> You're free to turn it off, it's just an option. For now
- beeboobaa 3y agoNot available in the "old" UI? Guess this is the beginning of the end.
- naitgacem 3y agoYou can switch between the old and new terminal in Settings/Preferences | Tools | Terminal | Enable New Terminal. I'm not what are you referring to?
- donatj 3y ago> The new terminal (Beta) is now in JetBrains IDEs and will be available in the new UI 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
- dijit 3y agoA more charitable take is that power-users are mostly hotkey users, so hiding the UI leaves more space for things that matter. 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.
- deleted 3y ago[deleted]
- metanonsense 3y agoI use IntelliJ for ~10 years now, and when I read that they have a new UI, I expected the worst. But, to be honest, I fell in love on first sight (at least with the compact mode).
- naitgacem 3y ago
- yla92 3y agoAt a glance, this looks like https://warp.dev/ https://warp.dev/ Terminal.
- deleted 3y ago[deleted]
- SnowingXIV 3y agohttps://docs.warp.dev/getting-started/getting-started-with-warp#logging-into-warp-required https://docs.warp.dev/getting-started/getting-started-with-w... This visually does look great, but a login required for a local terminal is a deal breaker for me.
- bravetraveler 3y agoHeh, they make a point to calm users that it can truly be offline, later... at the loss of features. 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
- noergl 3y agoPlz stop to worry. They only need that to help you around in the future, not to do any harm. Imagine you love their non-free offers later on, but don't know how to contact them to share credit card number - what a disruption on your end. Or maybe not...
- softirq 3y agoI've had a lot of trouble with commands in Warp going haywire because of how much magic there is in creating visual blocks, and it looks like Jet Brains is taking it one step further. The reason terminals are great is because they are dumb, standard interfaces where you can have full access to any system, local or remote, and directly execute binaries and interact with a command language like bash or zsh. 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.
- jdgoesmarching 3y agoOn the other hand, it makes the terminal much more accessible for less regular users. I’ve really appreciated the extra tools of Warp as someone who’s in the terminal infrequently enough to forget most intermediate commands.
- albert_e 3y agoI have always wanted a notebook style UI for terminal because I need to go back to what I learnt many times (say AWS CLI commands ...with syntax as well as output saved) The visual separation of each command and output into block seems like a step in that direction?
- cbm-vic-20 3y agoWould the old Unix script(1) program work for you? https://man7.org/linux/man-pages/man1/script.1.html https://man7.org/linux/man-pages/man1/script.1.html
- noname120 3y agoWhy not just use Jupyter? It has a zsh kernel[1]. [1] https://github.com/dan-oak/zsh-jupyter-kernel https://github.com/dan-oak/zsh-jupyter-kernel
- albert_e 3y agoThanks. I didn't realize this was an option. Will surely check this out.
- fijiaarone 3y agoTerminal in a browser with a heavyweight local server. Now you’re talking!
- hnlmorg 3y agoThe problem with a lot of these tools is that they fight with the shell to provide the UX enhancements (the comments in this thread are littered with people commenting that this new terminal breaks basic feature X, Y or Z. Really what they should be doing is working with the existing command line primitives as a hook for their UX enhancements. 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 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.
- noergl 3y ago100%. What ppl often mixup is shell responsibility and the terminal itself. They are not really to blame for that, because their interactive terminal usage is mostly at a shell prompt. 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...)
- cassianoleal 3y agoI'll keep an eye on your project. Are you planning to support tmux control mode like iTerm2 does?
- hnlmorg 3y agoI'm not planning on supporting split panes (though I'm sure that feature will eventually be written), instead relying on multiplexers like tmux to fill that gap for the time being. I don't really know enough about tmux's control mode to understand how I might integrate it but I, personally, didn't like iTerm2's integration much so if I did interface with tmux at a lower level then it might look somewhat different to iTerm2. That all said, at this point in time I'm not discounting any ideas.
- devsda 3y agoThe headline can also be read as new terminal(UI) interface for JetBrains IDE (like an emacs server or vim+eclim). Was happy for a moment until I read the article.
- wwilim 3y agoThe new Fleet code editor they're pitching as a competitor to VSCode works with separately running language servers, maybe there's a hack waiting to happen there
- bjt12345 3y agoMy Jetbrains software yearly subscription is the best value for money I pay for anything related to my work! 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.
- david422 3y agoPrior to Jetbrains I bounced around with a bunch of different IDE's. When I found Jetbrains I really started to enjoy coding more.
- bjt12345 3y agoYes! It's so worth the money.
- aerhardt 3y agoI love Jetbrains products to bits but they better shift gears with their AI integration strategy.
- jjice 3y agoDataGrip is the best RDBMS client I've ever used, hands down. It's so far beyond the competition in my experience. Maybe something like SQL Server Management Studio is really great specifically for SQL Server, but DataGrip is fantastic. I wouldn't trust most SQL clients with a production connection honestly. Getting read only constraints and commitable changes in my SQL client is a no-brainer that most other clients I've used didn't have.
- AlfeG 3y agoMy choise is DBeaver. Work consistenly good.
- LSRegression 3y agoI have to work with SQL Server and use DataGrip wherever possible, using SQL Server Management Studio only for the pieces DataGrip doesn't support (mostly running SSIS packages). My productivity really did jump when I switched to DataGrip.
- gillesjacobs 3y agoIn almost a decade of using Pycharm I have not once used the builtin shell. (Debug console is another matter.) 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.
- makin 3y agoPersonally I find it really useful for juggling interpreters between projects and keeping their state alive. There are CLI solutions for this, of course, but it's another set of commands to remember.
- ActionHank 3y agoExcept that Alacrity is not the system terminal.
- gillesjacobs 3y agoObviously I mean "the terminal application installed on your local host system where you develop".
- walthamstow 3y agoI'm not familiar with the z4h what does it offer over normal zsh?
- gillesjacobs 3y agoCommonly used plugins preconfigured (I don't install my own anymore because it covers my bases) and the fastest possible plugin loading out of all zsh frameworks.
- karmakaze 3y ago> At the moment, we only support a limited set of shells: Zsh, Bash, and PowerShell. If you use any other shell, you will see the old terminal even if the new setting is enabled. This is so wrong in the same way an ssh client isn't a terminal. Also they could support limited features with other shells.
- pneumic 3y agoAt first glance, I love the idea of the prompt being in a static position, separated from the output. Surprised that this is the first time I've seen something like that.
- lelanthran 3y ago> At first glance, I love the idea of the prompt being in a static position, separated from the output. Surprised that this is the first time I've seen something like that. 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.
- pneumic 3y agoCould you elaborate more? I'm having trouble visualizing what you mean.
- lelanthran 3y ago> Could you elaborate more? I'm having trouble visualizing what you mean. 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)
- 12_throw_away 3y agoI think the GGP is referring to how, in this new interface, the prompt is always pinned to the bottom even if you scroll the terminal - so you can scroll back through the output of, say, `rsync --help` to find what you need, without losing sight of the prompt pinned to the bottom.
- pneumic 3y ago
- tibbydudeza 3y agoThe primary visual distinction of the new terminal is that each command is now presented in a separate block. Pretty neat !!!.
- bsuvc 3y agoA new terminal is nice, I guess. But all I ever wanted was simply the ability to disable line wrap. https://youtrack.jetbrains.com/issue/IDEA-212620/Allow-a-user-to-disable-line-wrapping-in-the-terminal 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.
- xmichael909 3y agoYes! I just responded before I saw this comment. Exactly this! This is so typical of jetbrains, rather than fix a bug they created something that will take weeks to learn, when really we just want our own console that we already know.
- hnlmorg 3y agoThat's not nearly as easy as it sounds because terminals are grid based. So expanding the terminal width dynamically due to a lack of LF control character would get very computationally expensive very quickly.
- conradfr 3y agoI've been waiting for years for the ability to have two of them side by side (edit: you can). 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.
- CharlieDigital 3y agoUpvote: little things like this somehow make it feel very unusable for me and keep me going back to VSC. It doesn't even seem like it should be that hard to implement.
- conradfr 3y agoI looked it up again and you can actually do it with the split option since apparently 2020, great! So I stand corrected. Although it's not restored at launch (unlike the split in the editor).
- HippoBaro 3y agoA few years ago my company moved to using Bazel as our build system. JetBrain IDEs have a plug-in for Bazel that’s incredibly slow and buggy. It’s a shame because I used to really enjoy using their product, but now it’s barely usable.
- chuckadams 3y agoI'd settle for them fixing text selection in the existing terminal: basic stuff like double-click to select words, triple-click for lines, shift-click to extend selection ... lacking the last one really irks me when I need to select a lot of output. And I'm hearing this new one hijacks ^r, which has long been wired into my muscle memory. I have a lot of reasons to love Jetbrains IDEs, but the terminal is not one of them.
- no_wizard 3y agoI really like this. I do use the built-in terminal from time to time, and I haven't had issues myself. I'd love to see this released as a standalone terminal, like in the vain of iTerm2. I think that'd be really cool!
- devmor 3y agoOh wow, this looks horrible. I guess whenever they make this permanent I will be switching back to using a terminal outside of my IDE. 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?
- PH95VuimJjqBqy 3y agoI've never found terminals in IDE's to be useful. 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.
- everforward 3y agoI do the same, but using Guake/Yaquake/Quake (whichever fits the DE I'm in). I'd rather memorize a keybind that works globally than an IDE-specific one.
- xmichael909 3y agotypical Jetbrains, reinventing something, when they could have just enabled linewrap...
- jasonjmcghee 3y agoI'm so glad you can now use the old terminal. 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
- moi2388 3y agoWe took full control over the prompt area of the terminal. You can now use editor actions and move the cursor with the mouse during command input. 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
- jmakov 3y agoctrl+r not working. Pass.
- PufPufPuf 3y ago> We took full control over the prompt area of the terminal. 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.
- compsciphd 3y agoOne of the primary reasons I use the IDE's terminal is that it enables me to just share the IDE when doing screensharing and not share my entire desktop, which is good for my privacy. 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).
- fijiaarone 3y agoWhat’s the point of including a terminal in an IDE — shouldn’t it be a mobile app instead?
- funcDropShadow 3y ago> the convenience of a terminal lies in its ability to provide a universal way of managing tasks without needing to be proficient in all UI elements. 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.
- mrlonglong 3y agoI really hope that this new terminal most definitely is not like that Warp terminal that was bandied about recently on HN. Anyone knows if this new terminal has telemetry baked in? Or not?