Seriously! Their slick, compact, and beautifully well laid out UI is one of the primary reasons I use I Intellij Idea.
If they force this update, I'll just not update it. Not to mention, since I now will not be updating it, I can cancel my yearly, recurring subscription too.
Hey Jetbrains: You just have to do one thing. And that is: to NOT mess up existing thing.
Even if you stop launching new features into your product for next few years, I'll still happily pay you folks just because your product is so damn perfect as of now.
Please don't ruin it. Forget what VSCode is doing. They are far far far behind you folks. Don't let THEM ruin your product.
I found the performance very poor and had to discontinue using it.
It permanently pinned 4 cores on the remote server where VS Code used <0.25 (codebase was a very small Django app)
It’s supposed to work (like, it’s an option in Rider’s project selection), but it can’t find MSBuild in the WSL. I’m guessing you’d have better luck if you just spun up a normal Linux VM though.
I'll admit I haven't looked recently, but last time I looked, it felt like Jetbrains didn't quite get my use cases for remote development. I don't want to install/manage any infrastructure at all. I just want to connect via ssh to a fresh box and have it work. If that isn't possible, back to the drawing board.
Last time I tried remote development with PyCharm was when they released their "Remote development" beta in version 2021.3 [1]. It was a bad experience. Before that they only had some complicated sync workaround for remote development which I could not get used to.
I gave up on remote development with PyCharm and went with VSCode.
Based on your comment it seems they still haven't figured it out?
Because my ec2 dev server is even more powerful, and I can easily upgrade the hardware configuration without spending $1k on a new laptop.
I never really appreciated a remote dev server until I had to work on a behemoth Java project and then a behemoth C++ project. Having the extra memory and the extra cores is great. Never having to worry about your laptop heating up or having your battery die due to CPU load is even better.
I guess if your IDE is as responsive as anything else locally and only the compiling and runtime happens in the cloud it might be somewhat pleasant to work with. But what if you decide to do something from a coffee shop and the WiFi is super laggy. Or doing something while traveling etc. I like to know that my dev station is independent of an Internet connection.
With crappy Internet connection you still can do remote development (it doesn't take much bandwidth, after all it's mostly text). But what if you need to download dependencies/docker images or upload e.g. docker image? With a remote development you can offload that to a beefy server with gigabit connection.
"Remote development" does not necessarily imply that development happens on a remote machine. I use remote development extensions to work directly on projects inside WSL2.
On the flip side, the only thing I want Jetbrains to do is implement proper UI scaling.
I want to be able to hit Command+Plus and scale up the whole interface for presenting something to the team or when I have to code pair with someone who doesn't have as large of a monitor as I do.
Presentation mode is an absolute mess, and does not help with code pairing or code review presentations, and font scaling only affects the one file and not all the fonts, so the project navigation is still small and I have to repeat it for every file and again in reverse to reset it.
And the best past is, they could do it without impacting anyone else who doesn't need it, unlike this proposal.
> On the flip side, the only thing I want Jetbrains to do is implement proper UI scaling.
Oh man I'm still mad that if I want to present my Jetbrains IDE screen and make it readable, I have to change 2 fonts, one for the editor, one for the interface.
By contrast, I only want the content to scale, and actively cannot stand entire UIs scaling and looking and feeling like web pages. If this was ever implemented, it would need an opt-out to please us both.
Which is fine. As I already mentioned, even if they just had a text scaling which applied to all the editors so I didn't have to keep doing it every time I opened a file that would be a massive QOL improvement.
Curious why is that, what are the pain points specifically? I use it often when presenting and the only downside is that presentation mode forces full screen (on mac)
That's not entirely true, you can bring up all of those (maybe except tabs, I don't use them) while in presentation mode, you can do that with all windows. They even have bigger fonts so they're also readable
Presentation mode has worked well for me for code presentation for a decade both in-person on a projector and for screen sharing, across hundreds of talks. If you believe otherwise, let’s hear why rather than some kind of assertion that it must be true because you said so.
For the others… well, it’s not called screen sharing mode or code pairing mode.
I would not like Command-Plus, as in most cases you want to increase the font size of the editor, not everything around it. Then it would work like a web app or an Electron app, which is not ideal for pro apps. But I think you do have some good points around the presentation mode.
I am perfectly fine with it scaling everything, it would certainly be better than the current situation.
Sometimes, especially when I'm pairing with a junior that has a smaller screen, I want to scale everything because I want them to see everything. In this case scaling the whole UI is a benefit even if it is a "pro" application.
YMMV, and having alternative but consistent scaling options (such as all text in the file editor rather than piecemeal) would be a massive step up from the chaos at the moment. As already mentioned, the best part of this feature rather than a full UI redesign is that you don't have to use it!
> Seriously! Their slick, compact, and beautifully well laid out UI is one of the primary reasons I use I Intellij Idea.
Fascinating. Their flat, contrast-less and confusing UI is one of my biggest chafing points with their product. If I want to resize an UI element, I often have to make several guesses before I find the right border, let alone pixel.
What are the odds of a redesign adding color / borders / 3d? The UI fashion is still trending towards a uniform single-colored surface. Hard to imagine them adding borders, let alone color
Their UI may be a bit low contrast out of the box (there are themes to fix that, luckily) but if you have a problem with it now, the new UI looks much worse. All the colors are gone and all the icons are now bland shapes.
It looks like they're copying VS Code's UI style which is a huge step backwards in my opinion. This UI minimalism looks great on paper but it's terribly confusing to actually work with and it can take weeks to get around it through sheer brute force and muscle memory.
I agree that their UI needs an overhaul but this isn't the solution.
Flat UIs, icons with no text, and countless undocumented features are the reasons I now hate using computers.
The mental overhead in trying to learn and remember what to click to achieve what I want is exhausting, and somehow, in far too many apps, there's no way to look-up what the shortcut keys are.
JetBrains is obviously becoming more like VS Code here so that they aren't edged out of the market. "Copy your competitors". Complaining as if we are paying customers is understandable because UI changes are annoying. However we have to see things from JetBrain's perspective. They're trying to stay alive in a market where their market share is rapidly decreasing being taken by VS Code.
Why is VSCode eating their lunch? IntelliJ’s refactoring is miles ahead. As well as support for the jvm languages. Intellisafe and jump to declaration are also better imho.
The only thing that I can think of is that vscode is free and “good enough”. The integration for JavaScript and golang seems to be more “natural” in VSCode, somehow.
If you are using the free IntelliJ tools you get a crappy js editor when using the rust or Java specific IDE. Now I need to install another IntelliJ app.
Also I like being able to run vscode with a dev container. It allows new team members to instantly start working on a project and grt most things done.
I wonder if people are actually leaving Jetbrains' products for VS Code, or whether VS Code simply has more new people starting to use it. People who, probably, wouldn't have used IntelliJ anyway (just like many, many people used to use Eclipse – and, likely, many still do).
Looking around me, I see many people who have to work on crappy corporate PCs where management figures VS Code is good enough, and it's free, so why pay for IntelliJ? And since the devs themselves don't seem to complain, they'll just use VS Code.
WebStorm already has quite the hard stand against VS Code. VS Code gets all the plugins for popular frameworks by their respective authors and is free.
Rider is also stuck between a free VS Community version and VS Code which some people successfully use with the C# plugin (although I wouldn't use the latter for large code bases).
- People don't know better. That is, they literally have no idea what a proper IDE is and what it does. Hence all the "VS Code is as good as IDEA" comments
- It's free. People feel entitled to have even the most complex software apps for free.
But do you really think they're losing marketshare due to the UI?
VScode being free and comparable feature wise surely is the main challenge.
It doesn't help that VScode is catching up and in many cases surpassing their engine for some languages. Looking at their poor typescript performance and longstanding python type hinting bugs. I've also heard VScode has much better docker dev container support.
I get the it's not necessarily the same resources working the UI and these things but still. If the UI drastically change to be more like VSCode it's just one more reason for me as an existing customer to change.
> Complaining as if we are paying customers is understandable
I am a paying customer because the UI is so much better than vs code. For my daily work vs code actually covers all functionality that I use, but the UI is shit so I use JetBrains. They will loose the customers that are already using it, betting that they will get more new one - a bad bed imo.
> They're trying to stay alive in a market where their market share is rapidly decreasing being taken by VS Code.
That doesn't make any sense. If they start looking like VS Code I would switch to the (free) VS Code as there is no point in paying for (almost) the same experience.
If you use keyboard shortcuts for everything, as I do, the rest of the UI outside of the editor really doesn't matter a whole lot. I won't be searching for buttons based on color memory or anything like that.
While I agree with this point, I also like my interfaces small. Because, since I don't click around on them, I don't like them taking up space.
I also use a mouse on my PC, so I'm fairly precise in case I want to use the icons. There's no need to blow them up, so my fat fingers wouldn't misclick on a tablet.
I like to code with two windows side by side, usually IDE + browser for docs, sometimes on a small screen. I'd rather have the extra pixels for the docs instead of random useless space around the IDE's widgets.
I just wish the panels would default hide. I run bazel sync and half my window is build logs until I get around to closing them. If it’s not in active use, maybe after 5s, get it out of the way of code.
Yes but JetBrains IDEs are packed with literally thousands of useful features. I use them since at least a decade and I discover new features at least every month. And for this, a discoverable GUI is really important.
I'm not even being cynical --- this to me reads like: Sure, we will eventually shove it down your throat whether you like it or not, so there's no need to worry for the time being!
> The current UI will remain available for at least two years, and we’re not going to remove it until we’ve seen that the vast majority of our users have successfully made the switch to the new UI.
this sounds like you have to actively switch to the new UI if you already have an older version installed, and that they will be monitoring how many users have made the switch. Only after the "vast majority" (>80% ?) have switched will they "shove it down the throat" of the other 20%. Well, let's see how this promise will hold up...
Sounds to me that it will not be the default. And their is a time-honoured trick in our industry of hiding an option deep in the menus, to drive down adoption, to preclude removal of a feature.
Not to mention how many bug reports with be followed up with "Try in the new UI" as their only reply. We've seen this with Firefox, LibreOffice, KDE, Gnome, and so many other once-useful software.
What they have written is they are going to force a change. It's very clear. As soon as we have moved most people over, we will force you to move. You don't even have to read between the lines, it's explicit.
"We won't force it for two years". We are gonna force it in two years.
"We won't until the vast minority" we will as soon as most people have moved.
Software developers as developers: "Why does that random guy still pay for v1??? It's 20 years old, using Java 5 and old crap, let's force them to upgrade!!!!"
Software developers as users: "Don't force me to upgrade"
The hypocrisy is tangible and close to mind boggling.
As Devs: “I don’t want to maintain the old version. Don’t force work on me.”
As Users: “I don’t want to upgrade to the new version. Don’t force work on me.”
It’s not hypocritical to want your cake and eat it too. It’s only hypocritical if you think it’s wrong for companies to force people to upgrade and then doing that. Not liking when your parents forced you to eat vegetables and making your kids eat vegetables isn’t hypocrisy.
> The current UI will remain available for at least two years, and we’re not going to remove it until we’ve seen that the vast majority of our users have successfully made the switch to the new UI. Also, very few of the design decisions you see now in the new UI are final, and we’re open to revisiting them based on your feedback.
I smell the Reddit moment of "well, we see that you hate it so we won't remove the old one, we will just subtly break it in more and more ways till we brownbeat you to move. After all we can't say we wasted money on redesign to our bossess" moment.
to be honest, not sure why they have to explain themselves. started using JetBrains products when Eclipse became a monstrosity. this is not the first time the UI has changed. and it has always been gradual, with options to customize.
True, but people will also not have to explain themselves when they eventually switch to VS Code because VS Code is free, has the same UI, and get more feature rich by the week.
IntelliJ is incredibly feature rich. Eclipse fell behind, because its corporate backers like IBM, I assume, didn't fund it as massively anymore. Who's sponsoring VSCode for Java development in a way that competes with the weight that JetBrains is throwing around in that space? I don't use VSCode, so this is part honest question (and part presumption).
Aaaand for some reason, creating a new project from a directory no longer does that. If I select the directory and click Next, it instead creates a directory called Untitled in that directory and opens a project there. Since all my projects, ever, are created in existing directories, and since I do that pretty often, I’ve uninstalled the latest one (after two uses) and gone back to the old one. I’ve used IntelliJ since 2009. Jetbrains, what the fuck are you doing?
Not really because most often when working with APIs you figure out what you need then you disproportionately more time using it - UI is used for triggering short running operations - if the cost of finding it is high it's often higher than (not) using the tool. And often it's used to interact with rarely used or unknown features - UI clutter just leads to a mess - not discoverability.
You write software without looking at the screen? I doubt it.
GUIs have no other purpose than providing ways to interact with the software and communicating those controls via our eyes. Buttons are spread across the window because that turns out to be very efficient at both showing users what common features are available, and giving them a way to quickly use those features without having to dig through menus.
Maybe I don't understand the praise but the JetBrains UI is one of the most clunky UIs I've ever used for coding. I'm honestly glad to see something more VSCode-like in Fleet.
I agree that some areas are very clunky. But overall, as a Java developer, I am just incredibly productive in IntelliJ. Such that I happily take the rough edges for granted. Happily.
I agree. The only reason I find VS Code somewhat interesting is that the UI is a lot smoother. But if this is going to be a new look on top of the same old molasses that is Swing, then I don’t see the point.
Yeah, I figured they were rolling the turd in glitter one more time.
I’d love to see their IDEs re-platformed on Electron. I’m not ordinarily a fan, but VS Code has shown us how good an Electron-based IDE can be (while Atom showed us the opposite).
> I’m not ordinarily a fan, but VS Code has shown us how good an Electron-based IDE can be
yes, if you invest hundreds of millions of dollars and spend hundreds of man years on trivial things like "we can't make terminal output fast because web tech".
Do not mistake a single success story achieved through insane effort and unlimited money with "this is the way".
After years of using IntelliJ I finally moved to VSCode.
IntelliJ simply could do C/C++ but they chose to push people towards a new IDE... C Lion. That was a huge blow for me, a polyglot.
Then I had a couple of bug opened with them... it took years for them to fix it. Except they marked it as fixed and it was indeed not fixed... Years later!
I kept paying until that point, I just couldn't do it anymore.
The company is a victim of its own success if you ask me. And that's a shame.
VSCode isn't perfect, but it does 90% of what IntelliJ does, and arguably 40% of it better. Also VSCode is faster which still boggles my mind as to how that's possible. I suppose the buttload of cash that Microsoft has thrown at it probably helps there... Since IntelliJ went through their "milliseconds latency blabla" years ago, it's gone downhill.
I imagine that retina pixel displays + java 2nd class child on the macOS platform = big oof (pre-metal).
Nope, you don't get everything. I don't use CLion, so I don't know what all the differences are, but for the Rust plugin, CLion gets more functionality than IntelliJ:
I understand the same goes for yet a third branch, which is .Net, and possibly a fourth, which is AppCode. But I don't have any contact with those ecosystems, so don't really know.
Reminds me of Terraform plugin that broke after 0.11 they „fixed it”, yet I still get notifications about new ppl commenting how its again broken in newer version.
You had one job JetBrains -> speed up developers. I dont need half of the features available. Terminal does a better job at most of them and will never change.
But for the stuff I need and is used by millions if not tens of millions of developers.. just keep it working.
I feel like its slowly the time to move to VSCode. An army of JS Devs will keep on updating it.
I use VSCode a lot and can say that for my specific use cases, it's still a decade behind or more. The debugger in VScode isn't even in the ballgame.
I found the slack support for JetBrains to be absolutely fantastic. Super helpful and very technical. Having written plugins for both VSCode and JetBrains I prefer the latter but I have a heavy Java bias.
I agree that the multi-IDE strategy is problematic. They usually offer an option to just install plugins but with CLion they kind of dropped the ball. Which is surprising because I run their rust plugin on IntelliJ and it works well. Hopefully they'll address that too.
It's a little surprising that these UI choices are not a matter of user choice. Although when you think of the complexity of making a truly skinnable UI, or a component framework (I'm thinking Swing and the pluggable look and feel, or PLAF) Swing that IntelliJ used to be nominally written in. In that universe you could have made your own PLAF and rendered IntelliJ in that PLAF without asking permission.
It turns out, though, there is a lot of value in homogenizing your application skin. Users can recognize each other's applications, and help each other out. Whole categories of problems are avoided, like poorly written custom components that aren't PLAF compatible. I don't have the answer, but I find it interesting to consider the forces pushing for and against putting greater UI control in user hands.
> It turns out, though, there is a lot of value in homogenizing your application skin.
This is pretty well documented in the UX world, it’s called Jacob’s Law[1] and it states that your users spend most of their time using other products, and they generally prefer yours to work like others they’ve already trained themselves to use.
I get that change always comes with resistance, but I will never understand the knee jerk reaction of “they’re morons and they have no idea what they’re doing” that is so common with change.
> I get that change always comes with resistance, but I will never understand the knee jerk reaction of “they’re morons and they have no idea what they’re doing” that is so common with change.
What's there to understand? In most cases they are morons that don't know what they're doing (and are not doing the change to improve users' lives, but to drive internal promotions for product people).
I find the entire "java world" as I like to think of it, littered with slow IDEs.
The "Electron bloat world" editors have been much more snappy in my experience.
Typically the "java world" editors will lag out to the point where tapping on the "File" menu will take 3-5 seconds on occasion. Also they seem to rely on "indexing" and while the "indexing" operating is taking place, the entire editor just slows to a complete crawl.
I've seen this in Android Studio, IntelliJ, Tizen Studio, Eclipse - pretty much anything that's "java world". Apologies for the imprecise nomenclature, but this has been my experience and after so many years it has reached a stage of just low expectations from me whenever I see anything related to these IDEs.
I also had this feeling for Java IDEs, but my idea changed when I tried IntelliJ IDEs 10 years ago. I still feel IntelliJ IDEs fast and, many times, more powerful than VSCode. But I also see the gap getting thinner. Maybe that's why they created Fleet. If they match the dominant UX and add features only they can offer, they might stay in the throne.
I don't find this to be true. Have used eclipse for four years, IntelliJ for three. IntelliJ is never slow and it's very easy to remove and add modules, this way you can keep the workspace clean. Also eclipse took ages to open, two instances at best could be running together. I run four IntelliJ and it works very well.
If you want to alt-click on any function and instantly get taken to its definition, even in a library, some indexes need to be built. At least I assume. Last time I tried VS Code it wasn’t anywhere near IntelliJ’s capabilities.
Sublime is the only non-ancient editor I've used that is actually snappy, I can't perceive any lag. It feels like native software used to feel, yet looks half decent.
Vscode is slower, with both input and general UI lag. It helps to turn off hardware acceleration, but only a little. Luckily, you get used to it. Unless you go back to Sublime/Vim/Nano for a while, you stop noticing it.
Then there's the "you should be using"-ones...
* Visual Studio. Syntax highlighting takes a second or two when opening "large" files, input latency is bad, sometimes it takes longer to save a file than it does to compile your project, which now runs without your changes.
* XCode. Syntax highlighting works on Tuesdays, input latency is horrible. Randomly need to restart when certain features just stop working.
* Android Studio. Input and UI latency, needed 5 out of my then 8 gigabytes of RAM to load an empty project, had to close most other programs when working on a medium sized app, including my browser (Slack, Email, Teams etc).
* Goland. I've tried using this on both Windows and Linux, but I've never gotten anything to compile consistently. Indexing takes minutes, CPU usage randomly spikes, memory consumption constantly climbs... it just seems to eat resources doing nothing.
Sublime is the only (non-Vim/Emacs) editor I've used that takes my time, room/lap temperature and ergonomics seriously.
I have a nvme SSD and a SATA SSD, with a R95950X Processor and 32GB of RAM, with lots of it free. To this date I can reproduce this in Android Studio, which is based on IntelliJ IDEA from what I understand.
These up trends make me nuts. Just like so much of apple’s desktop apps like App Store are removing classic list interfaces with two column collections views. Totally non standard, so lacking all of the useful filtering/alerting by column, etc.
Yes, vim + a couple of plugins. It has it’s downsides, but one thing it does well is being familiar, and never breaking a contract. Even the plugins themselves can be pinned to a certain version.
Well, you can pin the IntelliJ IDEs to a version too, and thanks to the "perpetual fallback" license, you can use that version forever (once you have paid for an annual subscription once).
I love Jebrains IDEs. They can save you lot of time. For example, VSCode does not even come close to Jetbrains git branch comparison. It's insanely good. I think a proper IDE is always better than adding 10s of extension to get similar functionality from VScode. Even then it does not compare to the beast that is Jetbrains IDE.
Jetbrains should keep working on their own thing instead of trying to change because of someone else. This holds true for people as well.
Me too, I don't think I can function without JetBrain products as an engineer. It is ridiculously powerful. PyCharm + Database tab + Debugger + Little calculator icon for impromptu interpreter + long tail of features that totally make it amazing. I don't use built in Git but I heard that's great too. The database feature has stuff like copy results of a query as INSERT statements. Mind blown.
The built-in git is honestly quite intuitive while still being pretty powerful. I haven't tried other GUI-like git integrations but I was a fan of IntelliJ's.
That said I was talking to a friend about how great it was and he was like "yeah all these things you describe seem like they were lifted from magit" so I suppose once again the answer is "magit is still the best".
Maybe if I ever have the motivation to actually set up an editor I'll try Spacemacs again but I get frustrated when things don't just work and end up going down the configuration rabbit hole anyway.
As a VSCode user, I can see myself switching to Jetbrains because of these changes. Doing the occasional Flutter project, I always use VSCode for that instead of Android Studio. I just can’t stand the clutter and UI bloat in classic IntelliJ. I’m often on a 15“ screen, maybe that’s a contributing factor.
I love how all the panels/windows in Jetbrains are just text. Like "run", "maven", "database", "terminal". The new icons take up more than twice the space (thickness vs the vertical text), and conveys nothing at all about what they do.
Also one of the reasons I'm not that thrilled about Fleet. I get it's easy to just in general be negative to change. But these are professional tools. I've used it for over a decade. I don't need it to be dumbed down.
Right now I'm comfortable and never enjoyed VSCode and others. But if I'm forced this change, what's stopping me then from trying a completely different IDE?
Will Fleet replace any existing JetBrains IDEs?
No, it will not. We are fully committed to continuing active development of our IntelliJ-based IDEs. With Fleet, we’re aiming to offer an alternative view on how an IDE can be organized, and this is impossible to implement within our current product line without going against the expectations of developers currently using those other IDEs. This means Fleet will co-exist with our established products.
Additionally, Fleet heavily relies on the IntelliJ code-processing engine for its smart code-editing features, such as project-aware and context-aware code completion, navigation to definitions and usages, refactorings, on-the-fly code quality checks, and quick-fixes.
> It is not my our job to micro manage their dev resources.
But my job does include heavy use of their tools. And I have dozens of bugs filed on the Jetbrains IDEs - some minor but some major. So in fact their allocation of dev resources does affect my ability to do my job, even if I'm not in charge of allocating their resources.
While Fleet is a new product representing our attempt to rebuild the entire IDE from scratch, the new UI is a redesign of the existing JetBrains IDE product line.
I'm the same on icons vs text. I read the text label and "know". An icon is horrible as I find them meaningless, so I have to click or hover to check for tooltips.
Another reason icons suck is that different apps use the same or similar icons for different things, my memory just doesn't "click" with simplistic icons.
The old UI is information dense but easy to work with. It is one of the reasons I went to and paid for Jetbrains on my own dime, rather than using VS Code like others at my workplace.
The new UI looks nice but it won't work well for me. If they want everything to be so similar to VS Code then I might as well use that.
I use IntelliJ to write mostly Perl. Since trying the 2020 and 2021 series of IntelliJ, I sat down for an hour and tried every major release since I started using it, and I settled on the one I like the most. I'm quite happy with it, and I'm not planning to upgrade again. Thank you, JetBrains, for supporting your older versions.
To OP, I recommend downloading the version you like and sticking with it. You'll be good for years. Use this time to occasionally research alternatives.
Unpopular opinion: so the majority has to suffer for the minority? Just give us the option to have both and the users can decide for themselves whether they need a special UI or not.
Eh, I have used vim, spacemacs, sublime, vscode, atom, eclipse and netbeans. Jetbrains IDEs have superior functionality out of the box across languages and don’t require me to mess with and debug a million plugins. I don’t mind a UI refresh, it’s going to be just like the gmail refresh everyone hated it and now we’re all fine with it.
I just wish they would invest more money into things that are actually a problem currently like how slow indexing is and how disruptive it is when you do a clean re-install and it indexes all your dependencies again.
I have tried spacemacs which gives a lot of functionality out the box with less configuration needed than DIY vim or emacs but it still just doesn’t compare to the ease of use of Jetbrains IDEs across languages (I use Java, Python, Ruby and Typescript every week).
I use Rust in IntelliJ, and the indexing is usually fine once the IDE is up.
But for some reason, whenever I reopen a project, it needs to reindex it. Even when I open the same project every day, not having changed anything in between. I understand from a friend it doesn't do that with Java projects.
You want to run a task from your build tool that has nothing to do with indexing before indexing finishes? No can do!
You installed an npm package and it seems to depend on all the things? Let's start indexing on node_modules and give you no chance to even uninstall the **er. You used the CLI to work around our tooling? Hey let's start indexing immediately after this one finishes so it's a great idea for a coffee break, just never pull directly after coming back so you may actually do some work until we bog down all the cpu cores.
Don't get me wrong, I love all the JB IDEs, but indexing has been a deal-breaker for many.
> so you may actually do some work until we bog down all the cpu cores.
I wish it bogged down all cores.. I work on relatively small Java projects (maybe 10 KLOC, 20 or so items in the pom.xml (although these obviously have transitive dependencies)). IntelliJ 2018 would re-index everything in a few minutes using all 20 vcores. I specifically spent about $8k on an iMac Pro back in the day to make this faster.
IntelliJ 2022, on the other hand, uses only 4 cores, and takes about 10 minutes. That's a stupid default (if I buy a powerful computer I want to use it..).
There is a setting to override it, but in my case it just doesn't work. CPU goes to approx 400% and just stays there. I filed a bug report, no movement.
While not quite 10 minutes, I'm on a 12 core i7 Dell XPS, I have to switch between half a dozen or so Go projects in a day sometimes and it really can take a couple of minutes each; long enough to be annoying, not long enough to grab a coffee.
Edit: I should say 12-thread, not 12-core, just to be clear on the performance level we're expecting here. It's a 6c/12t i7.
Maybe. I used to be on MacBook Pros back in the days when I was working on Java and indexing was the bane of my existence.
I usually worked with 3-10 big Java projects in parallel (e.g. HBase, Hadoop, Hive, NiFi, Kafka) and indexing could (not exaggerating) take up to 4 hours in total. NiFi is one of the worst offenders. And switching branches means it starts all over again.
I haven't worked with Java in ~2 years so I'm not sure how bad it is now. I might start a NiFi index job just for fun...
Indexing performance has drastically improved for me in the last 1-2 years, to the point where it's become a non-issue. New projects index very quickly, and adding new libraries also indexes quickly. It's an order of magnitude better than a few years ago.
That's both on my 16-inch M1 Max and my M2 Air with Go in Goland.
The git client is easy, the db and docker clients are useful, the kube integration is useful, ideavim is pretty seamless, the autocomplete is great, the jupyter and scientific modes are perfect, the remote debugger and remote interpreter thing is very useful, the debugger is great across languages…I mean there’s so many things that are good and I get them all uniformly across languages without needing to hassle with configurations and plugins.
I did make an attempt to be the million line vimrc, t480, arch Linux guy (from reading HN) for a month or two but I found it was taking up so much time it was basically a hobby. I would rather just have something that works out the box (Mac + jetbrains) and be able to spend work and hobby time coding interesting stuff.
The fancy vim configuration just becomes more and more frustrating the more languages that you use and you start to run into weird things like when you start a new line in markdown the cursor doesn’t start at the same bullet indentation level so now you need to debug which plugin is messing that up.
It was more pleasant to look at and provided more useful functionality on the UI.
The modern trend of wasting space and erasing colors is really bad.
The only new feature I like is the "tab" categories (but only on desktop). Though they really botched it because now I'm confused about the difference between categories and labels so I don't use labels anymore. IMO they should have used the existing labels system for that.
You can still opt-in into the ancient HTML UI.
It's really lightweight and network-bandwidth friendly, but not having shortcuts for some basic actions makes it a little bit too arcane and sometimes way slower than just paying the resource costs.
I wish there was a better balance between both UIs. The "better looking" one wastes too much resources (CPU, memory, screen space).
Thanks, I didn't know that, I think I'll switch it back.
It's not about resource cost for me, I use high end hardware and fast connections (coupled with ad and script blockers, both in-browser and at network level, which are probably adding to the frustration) and not only does it load and run like complete crap, I literally couldn't find an email I knew was there in my "inbox" last time I opened it.
I only use Gmail/Workspace for family/personal stuff so I just use mobile apps 99% of the time now, but if I had to use it more regularly I'd be quite annoyed.
Not that Office 365 which I use for work is any better in a web browser.
At the bottom of this guide there are two links to switch from the current state-of-the-art design to the "basic HTML" version, and back, should you regret it: https://support.google.com/mail/answer/15049?hl=en
The "basic HTML" version is probably not exactly as any previous version but it's a good approximation. I think it makes much better use of color and space, and the buttons have text labels instead of using an arcane symbol language I have to relearn every time I have the misfortune to use it.
Nah I'm fine with it, because I never go to the website and just use mail clients; I can tolerate you its existence, out of sight out of mind and all that.
Actually I did use the web client one time recently and I literally couldn't find an email I knew I'd just received; my inbox is kept at 0 unread; so in theory it should have been impossible NOT to see it, right? After the initial confusion then annoyance came the realisation and I just went and found my phone to read it on.
> Nah I'm fine with it, because I never go to the website and just use mail
> clients; I can tolerate you its existence, out of sight out of mind and all that.
And that contributes nothing to this thread because we are discussing the Jetbrains UI and the Gmail UI was an analogy. Unless you would like to argue that we can ignore Jetbrains UI changes like Gmail UI changes because we can use VIM as an interface to the code, so the Jetbrains UI is out of sight out of mind and all that.
I'm afraid my British humour (sarcasm) may have been lost here.
I'm neither fine with Gmail, nor with major changes to Jetbrains IDE which I've been using every day for years now, and totally agree with all of the points in the article (and by extension this thread).
I actually really like it. I've been looking at IntelliJ for 8 years, the refresh is really very welcome XD. I also haven't noticed any lost functionality.
IIRC on desktop you can still use the old-ish (at least, plain HTML) version of gmail if you disable Javascript once logged in. At least it worked quite recently for me.
Still points to the "basic HTML" version, which is at least faster than the standard one. (I use it, and I'll keep using it, until I can, I guess.) https://support.google.com/mail/answer/15049
If you are a professional developer, and plan to be working for several decades, is it really that much of an investment to maintain your editor config a la vim or emacs? I did a lot of work setting up vim 10 years ago, and have only had to tweak it since. It works exactly as I expect, anywhere, in a terminal, for free, and setup is as easy as checking out a repo and running a script.
JetBrains is good for stuff I rarely do in the editor, like certain types of debugging, but otherwise feels too heavy, expensive, and hard to configure across installs. Finding a particular config option is always a hunt.
Honestly yes, I would rather pay someone to do it than maintain it myself especially across languages it just becomes a real nightmare. I need text editing, jupyter rendering, sql client, csv spreadsheet rendering, vim keybindings, git client, terminal/ssh, autocomplete, documentation tooltips and “run highlighted in repl” support at a minimum. These are all part of my weekly workflow, I have tried to use spacemacs because the community has setup a lot of this stuff for you already but the autocomplete is not comparable to VSCode or Jetbrains.
My dad was a vim user since the 90s and he ended up switching to IntelliJ a few years ago as well. It’s just significantly less hassle and has way more intelligent intellisense/autocomplete.
I have only recently tried GoLand while living in vim for ~5 years. IMO vim's autocomplete is significantly better than GoLand. Not saying the rest of the auto-insert helpers, but the completion itself is way better imo.
GoPLS is honestly really good, and while I haven't tried GoLand myself, I have no trouble believing you. Even rust-analyzer beats IntelliJ Rust IME. I'm very bullish on language servers because these two (and ElixirLS, though it isn't on the same level as GoPLS and rust-analyzer IMO) are countering the common assumption that you need an IDE to have powerful dev tools.
My experience is absolutely the opposite, especially on complex Go projects with multiple modules. I haven’t given Rust Analyzer much of a shot, but admittedly that might be better. Many of the projects I’m working on right now build using Bazel, and gopls has serious issues there even in generated code with a package driver configured.
I used to meticulously maintain a vim config for the 8 or so languages I switch between, but eventually realised that for me the good part of vim is modal editing, and that IdeaVIM gives me that without having to fuss with it. My vimrc is now empty and it’s relegated to commit messages and fixing merge conflicts…
You can't possibly call yourself a "professional developer" (and it sounds like you're not pointing out that you're paid for the work, but that you're a "pro") and then talk about debugging as something you rarely do. If debugging (with a debugger) is something you rarely do, you may be paid for your work, but I wouldn't call you a pro.
You should be debugging alongside development to gain deep understanding and reduce errors. No amount of "test" coverage can replace that.
I'm always skeptical about people who don't use IDEs and I'm almost always right about them. And it's not the good kind of being right.
That’s funny, because I’m always skeptical about people who fire in all judgy about the way other people work when they know literally nothing about who they are or what they do, and I am always right.
I think that parent’s point was that debugging is an exceedingly powerful tool, and therefore leaving it out of your toolset by definition makes you less powerful as a programmer. It’s not even such an esoteric skill - operating the simplest kind of a GUI debugger is maybe learning 5-6 different actions, and the IDE often takes care of the details of setting up the debugger for you.
On the contrary, I find a common debugger (see questions below) an underwhelming experience, not a powerful tool.
Can it:
- assign (scenario, subsystem, level, description) to breakpoints and watches, so they can be turned on/off or selected in groups for debugging without removal?
- commit these scenarios of bps and watches into a repository?
- edit/read them in a textual form to patch or share over an IM?
- store traces of previous sessions and diff them to find out what changed?
Does anything even remotely similar exist? Most debuggers are just test-pause-and-inspect tools with “integration” in the form of eval on mouse hover. Their ux and dx sucks and the only reason I could find to use them were slow build times and too low-level runtimes, which are no more today.
Pretty sure most people avoid debuggers not because they are too hard to learn (they aren’t), but because they are too dumb to be useful, given that you can ‘if (cond) log.level(…)’ and restart instantly.
> - assign (scenario, subsystem, level, description) to breakpoints and watches, so they can be turned on/off or selected in groups for debugging without removal?
In Jetbrain's tools they definitely can. I can
* create a bunch of breakpoints
* give them descriptions
* only have them break on execution under certain conditions (conditions stated via the programming language being debugged, so `my_struct.some_func() == 5`)
* disable and enable breakpoints with a click of a button
* have a breakpoint only become active when another breakpoint got hit (and therefore only cause the debugging logic to execute in certain code paths
* Have a breakpoint not stop execution when it gets hit, which is useful because I can then
* Log when a breakpoint gets hit, including it's stack trace (so I can see exactly the flow that got me to that breakpoint)
* Evaluate some variable when a breakpoint is hit and log that evaluation.
All of this with an extremely simple UI that can be manipulated without any recompiles and while the application is running. I've gotten tons of value of debugging complex scenarios in both C# and Rust via this constructs.
So while I'm not going to convince you that debuggers are worthwhile, to call them "too dumb to be useful" is pretty naive.
I don't know that I'm convinced of that point though. I've been developing software professionally for almost 20 years and my usage and reliance on a debugger has decreased over time. At the moment, I think it's been probably three months since I've last used one.
This. I used to use debugger all the time as a more junior dev, but I haven't used one in years now. Also, over time I spend more and more time writing tests. When there's a problem a simple print, echo, console.log or whatever is usually enough to solve it quickly.
The problem that debuggers solve is simply not a big problem anymore, in my experience. Definitely not worth the setup hassle when actively working on multiple platforms.
That’s a fine opinion to hold, until you work on applications that you cannot debug for one reason or another.
As a fellow debugger lover, having to basically use log statements instead of being able to reach in and debug was a rude awakening. Some people probably don’t know that debugging can be easy with the right combination of IDE and language. Or the billion software layers mean that the debugger fails to attach for some reason which can’t be figured out.
I have a decent experience in all sorts of debuggers (from softice to gdb to ide) and prefer log() where possible. The reasons are: less-ing a log is superior to stepping into. Step-based debugging doesn’t work in production or retrospectively. That’s it.
Debugging and using IDEs are entirely orthogonal. DTrace and lldb are far more valuable to me than a graphical step debugger, which I effectively never use. As it happens I use JetBrains IDEs full time.
Apologies if you have accessibility needs and that’s the reason, but otherwise what is so unique about your editing requirements that requires such extreme customisation? I just use tools as they come. I try not to change anything. Less entropy in my life.
I'm constantly surprised that people have trouble finding things in JetBrains IDEs, because they have search everywhere, for everything. You can even look for "actions" in the double-shift menu: just press Cmd-Shift-A (I suppose Ctrl for Win/Linux) and type a few letters. I found that way easier than figuring out how to configure vim, because there is no discoverability from inside the editor itself, and I frequently had to google several times before I found a way to get the behaviour I wanted. This gets even worse when you're using plugins for LSP etc.
(Emacs, of course, has best in class discoverability via M-x and C-h, which allow you to find and introspect basically everything that's available to you, but then Emacs is an OS, not an editor)
If I had a nickel for the number of time I accidentally deleted an email in the new Gmail interface, I could buy out Google and force them to git reset it back to the old version. I for one (of many) are not fine with it.
UI refreshes are a funny thing. I remember avidly hating the look of YouTube when they removed all the borders from things. And now when I see the old version, it looks quite bad and the current one very good.
It’s an uncomfortable feeling to see something new, and sometimes it genuinely is a step backwards, but I feel most of the time it’s progress and you get over it after a month.
Same, the only refresh that I feel is genuinely bad is reddit. The problem with new reddit is that the usage pattern is totally different. Old reddit can be rapidly browsed and only the posts that interest you are the ones that you give attention, in new reddit posts can’t be rapidly browsed and each one is supposed to grab your attention (in my opinion).
The new design is bad intentionally to improve their performance numbers, that it's still online and that the whole site didn't go the way of digg means they pretty much nailed it.
Controversially: I also much prefer the usability of older Windows operating systems, the scrollbars that don't hide, the double click semantics that are consistent across the whole OS.
It might look a lot prettier now, but it's much harder to actually do things from zero knowledge, I do fear we've regressed.
I’m going to say something even more controversial, but true; that the obfuscated thing these two prior comments are really noting is a degradation that has been obscured in distracting color or design language changes. It’s akin to “shrinkflation” that is now even totally overshadowed by the real rise in prices they said wouldn’t happen, people are starting to notice things like “hey, why are there now far less features than 30 years ago, and why does it cost 10x as much?”
”New packaging, same great taste” the professional liars proclaim; as the box got emptier, the false bottom bigger, the air more voluminous, the filler lower quality. No, no. Worse things are in fact good for you. The party proclaimed it, so you are required to believe it. Or else.
Even more controversial is both the cause and the remedy, for which the overwhelming number of people, especially on a site like this, have absolutely no interest in facing; so I will refrain from expanding on that. It’s irrelevant anyways, because the consequences are as inevitable as they were clearly predicted and suppressed.
The abusive relationship that the western world in particular is currently in, remains largely furiously defended, like any other abusive relationship the abused have not yet faced reality about.
That results in continued comments one can also see in these threads, proclaiming essentially how “no, no, degraded features and lower information density against my will is actually a good thing”, which is no different than “I would not get beaten if I just made smarter decisions”.
I hope you’re being Reddit brained, but the short answer is no, I do not see anything nearly like actually doing that. The trajectory is clearly towards the shadow of authoritarian control flowing over the whole of humanity. Don’t worry, you’ll realize it too once it’s far past way too late.
I'm not sure how much of that is the UI, and how much of that is just that it's unbearably slow. I feel like the UI could work quite well if it actually loaded roughly instantly.
Changed aesthetics are fine. Even when they suck you eventually get used to them. Changed functionality - which with UI refreshes often entails removal of more advanced or subtle features - is the killer. Designers who don't understand how products work in depth look at complexity they don't understand and decide nobody needs it if they personally don't get what it's for.
It is a problem even when it comes to aesthetics. Turning up the whitespace 300% makes things worse, it's not even just a subjective design choice.
The problem is precisely what you say: UI """designers""" don't make evidence-based decisons and don't do research or look for user feedback, they simply go with whatever they subjectively think best.
I agree that youtube "looks" better but it's objectively worse. This comment reminded me of a video I saw a decade ago and could still easily find: https://www.youtube.com/watch?v=9u6Bfnq3aZk
My issue is not with style changes but when stuff is moved around or renamed, you update the IDE or a plugin and now when you go to amenu to access some function it was renamed or moved around , my musle memory is broken and I waste tiem working to figure out where stuff was moved now.
Try to debug JNI code in Jetbrains IDEs, go try it. Ah, I forgot they rather sell a Clion license instead.
Or stop the damm thing to run indexing, or avoid doing 10 finger combos, showing code problems without running inspections, doing Java compilation on save without using Eclipse's own compiler,...
> showing code problems without running inspections
You can configure which inspections are run all the time and which are not
> doing Java compilation on save without using Eclipse's own compiler
If you are saving files with Intellij. Configure Intellij to save when focus is lost. I haven't pressed Ctrl-S in 15 years in Intellij. Regarding the automatic compiling whenever you save, like in Eclipse. I am really happy it doesn't do this. Because it means I can work slow compiling projects at all. I can work with refactoring features while my code is in the middle of larger refactoring and it doesn't compile. And so on. But if you prefer Eclipse's workflow, why not use Eclipse?
Getting used to a new look is possible, but that does not mandate disrupting - no, that is not a good thing! - changes. Just for the sake of it along questionable long explained philosophy. This is actual work not beauty contest.
Especially in cases when much more important tasks are at hand, as you rightfully note.
Sadly it’s not actually just a UI refresh but a UI downgrade because they’ve actually removed key functionality, not just tweaked some visual styling.
It’s a completely different tool window layout mechanism with far fewer tool windows that can be open at the same time. I rely on having my source control, embedded terminal, problems window, commit window + more all simultaneously visible. It’s key to my workflow to have a number of key windows open and their new layout throws this all away.
So far its the most disruptive and user hostile “UI refresh” I’ve ever seen and will see me moving back to Visual Studio if they persist with it.
> Jetbrains IDEs have superior functionality out of the box across languages
They dont, not compared to eclipse and java. They are more lightway and look nicer, but it does much less for you. (The default call hierarchy is just atrocious for example, you can see only problems from small part of project etc)
I am on the same page as you. I also have tried spacemacs, but it either installs or doesn't depending on what OS I'm on. I secretly wish someone would make a bundled installer for it for Windows so I dont have to figure out the terminal incantations to make it work on Windows. I've also managed to mess up the initial setup on Linux too.
I actually _really_ like these changes, but then again I was previously a VS Code user. I think JetBrains is specifically courting users who, like me, don't deal well with user interfaces that utilize large numbers of text labels. I think they're catching up to "modern design", and trying to skate to where the puck is so to speak.
However, I do want to point out that I don't think the author has actually used the new UI considering they mention the overuse of animations, considering that the new UI doesn't have _any_ as far as I can tell.
I haven't really used VSCode, so I can't really compare, but as a long time user of JetBrains IDEs I too really enjoy the new interface.
I mostly use keyboard shortcuts and when I don't know the combination, I rely on the Search Anywhere (double shift) and Run Anything (double ctrl) functionalities.
I find the new UI less distracting and the new VCS menu is a nice addition.
I also wonder how much technical debt has accumulated in the previous UI that is being addressed by a refresh.
419 comments
[ 5.2 ms ] story [ 334 ms ] threadIf they force this update, I'll just not update it. Not to mention, since I now will not be updating it, I can cancel my yearly, recurring subscription too.
Hey Jetbrains: You just have to do one thing. And that is: to NOT mess up existing thing.
Even if you stop launching new features into your product for next few years, I'll still happily pay you folks just because your product is so damn perfect as of now.
Please don't ruin it. Forget what VSCode is doing. They are far far far behind you folks. Don't let THEM ruin your product.
[1] https://en.wiktionary.org/wiki/Chesterton%27s_fence
Except for remote development extension. Do that. It's the killer feature of VSCode.
I gave up on remote development with PyCharm and went with VSCode.
Based on your comment it seems they still haven't figured it out?
[1] https://www.jetbrains.com/pycharm/whatsnew/2021-3/#remote-de...
I never really appreciated a remote dev server until I had to work on a behemoth Java project and then a behemoth C++ project. Having the extra memory and the extra cores is great. Never having to worry about your laptop heating up or having your battery die due to CPU load is even better.
I want to be able to hit Command+Plus and scale up the whole interface for presenting something to the team or when I have to code pair with someone who doesn't have as large of a monitor as I do.
Presentation mode is an absolute mess, and does not help with code pairing or code review presentations, and font scaling only affects the one file and not all the fonts, so the project navigation is still small and I have to repeat it for every file and again in reverse to reset it.
And the best past is, they could do it without impacting anyone else who doesn't need it, unlike this proposal.
Oh man I'm still mad that if I want to present my Jetbrains IDE screen and make it readable, I have to change 2 fonts, one for the editor, one for the interface.
Usually I get a lot of aggressive responses about how I don't understand presentation mode. I do, and it's crap.
(Replace shift shift with whatever you have the “everything” search bound to).
For presenting, it is very specific on how it is meant to be used, which is not how I would present during a screen sharing exercise.
For the others… well, it’s not called screen sharing mode or code pairing mode.
So you agree that it doesn't work that great for the scenarios that I've been talking about?
Sometimes, especially when I'm pairing with a junior that has a smaller screen, I want to scale everything because I want them to see everything. In this case scaling the whole UI is a benefit even if it is a "pro" application.
YMMV, and having alternative but consistent scaling options (such as all text in the file editor rather than piecemeal) would be a massive step up from the chaos at the moment. As already mentioned, the best part of this feature rather than a full UI redesign is that you don't have to use it!
Fascinating. Their flat, contrast-less and confusing UI is one of my biggest chafing points with their product. If I want to resize an UI element, I often have to make several guesses before I find the right border, let alone pixel.
It looks like they're copying VS Code's UI style which is a huge step backwards in my opinion. This UI minimalism looks great on paper but it's terribly confusing to actually work with and it can take weeks to get around it through sheer brute force and muscle memory.
I agree that their UI needs an overhaul but this isn't the solution.
The mental overhead in trying to learn and remember what to click to achieve what I want is exhausting, and somehow, in far too many apps, there's no way to look-up what the shortcut keys are.
JetBrains is obviously becoming more like VS Code here so that they aren't edged out of the market. "Copy your competitors". Complaining as if we are paying customers is understandable because UI changes are annoying. However we have to see things from JetBrain's perspective. They're trying to stay alive in a market where their market share is rapidly decreasing being taken by VS Code.
The only thing that I can think of is that vscode is free and “good enough”. The integration for JavaScript and golang seems to be more “natural” in VSCode, somehow.
If you are using the free IntelliJ tools you get a crappy js editor when using the rust or Java specific IDE. Now I need to install another IntelliJ app.
Also I like being able to run vscode with a dev container. It allows new team members to instantly start working on a project and grt most things done.
Looking around me, I see many people who have to work on crappy corporate PCs where management figures VS Code is good enough, and it's free, so why pay for IntelliJ? And since the devs themselves don't seem to complain, they'll just use VS Code.
Rider is also stuck between a free VS Community version and VS Code which some people successfully use with the C# plugin (although I wouldn't use the latter for large code bases).
Remote development extension that makes development from remote machines, VMs, docker containers seem like it's your local machine.
I switched from CLion to VSCode for this, even though CLion is generally a nicer IDE for C++. VSCode is also better for memory usage.
- People don't know better. That is, they literally have no idea what a proper IDE is and what it does. Hence all the "VS Code is as good as IDEA" comments
- It's free. People feel entitled to have even the most complex software apps for free.
VScode being free and comparable feature wise surely is the main challenge.
It doesn't help that VScode is catching up and in many cases surpassing their engine for some languages. Looking at their poor typescript performance and longstanding python type hinting bugs. I've also heard VScode has much better docker dev container support.
I get the it's not necessarily the same resources working the UI and these things but still. If the UI drastically change to be more like VSCode it's just one more reason for me as an existing customer to change.
I am a paying customer because the UI is so much better than vs code. For my daily work vs code actually covers all functionality that I use, but the UI is shit so I use JetBrains. They will loose the customers that are already using it, betting that they will get more new one - a bad bed imo.
But I am a paying customer! I've been subscribed to the 'all you can eat' option for several years now.
And as a paying customer, I'm not thrilled about the UI change but I'll get used to it.
That doesn't make any sense. If they start looking like VS Code I would switch to the (free) VS Code as there is no point in paying for (almost) the same experience.
I also use a mouse on my PC, so I'm fairly precise in case I want to use the icons. There's no need to blow them up, so my fat fingers wouldn't misclick on a tablet.
I like to code with two windows side by side, usually IDE + browser for docs, sometimes on a small screen. I'd rather have the extra pixels for the docs instead of random useless space around the IDE's widgets.
> The current UI will remain available for at least two years, and we’re not going to remove it until we’ve seen that the vast majority of our users have successfully made the switch to the new UI.
this sounds like you have to actively switch to the new UI if you already have an older version installed, and that they will be monitoring how many users have made the switch. Only after the "vast majority" (>80% ?) have switched will they "shove it down the throat" of the other 20%. Well, let's see how this promise will hold up...
Not to mention how many bug reports with be followed up with "Try in the new UI" as their only reply. We've seen this with Firefox, LibreOffice, KDE, Gnome, and so many other once-useful software.
"We won't force it for two years". We are gonna force it in two years.
"We won't until the vast minority" we will as soon as most people have moved.
Software developers as users: "Don't force me to upgrade"
The hypocrisy is tangible and close to mind boggling.
As Users: “I don’t want to upgrade to the new version. Don’t force work on me.”
It’s not hypocritical to want your cake and eat it too. It’s only hypocritical if you think it’s wrong for companies to force people to upgrade and then doing that. Not liking when your parents forced you to eat vegetables and making your kids eat vegetables isn’t hypocrisy.
(customer since 2010)
I smell the Reddit moment of "well, we see that you hate it so we won't remove the old one, we will just subtly break it in more and more ways till we brownbeat you to move. After all we can't say we wasted money on redesign to our bossess" moment.
they don't have to explain themselves here.
People need not justify the tools they choose to anyone, so correct, should that happen, people will not have to explain themselves.
Great analogy.
GUIs have no other purpose than providing ways to interact with the software and communicating those controls via our eyes. Buttons are spread across the window because that turns out to be very efficient at both showing users what common features are available, and giving them a way to quickly use those features without having to dig through menus.
I’d love to see their IDEs re-platformed on Electron. I’m not ordinarily a fan, but VS Code has shown us how good an Electron-based IDE can be (while Atom showed us the opposite).
yes, if you invest hundreds of millions of dollars and spend hundreds of man years on trivial things like "we can't make terminal output fast because web tech".
Do not mistake a single success story achieved through insane effort and unlimited money with "this is the way".
IntelliJ simply could do C/C++ but they chose to push people towards a new IDE... C Lion. That was a huge blow for me, a polyglot.
Then I had a couple of bug opened with them... it took years for them to fix it. Except they marked it as fixed and it was indeed not fixed... Years later!
I kept paying until that point, I just couldn't do it anymore.
The company is a victim of its own success if you ask me. And that's a shame.
VSCode isn't perfect, but it does 90% of what IntelliJ does, and arguably 40% of it better. Also VSCode is faster which still boggles my mind as to how that's possible. I suppose the buttload of cash that Microsoft has thrown at it probably helps there... Since IntelliJ went through their "milliseconds latency blabla" years ago, it's gone downhill.
I imagine that retina pixel displays + java 2nd class child on the macOS platform = big oof (pre-metal).
I dream of a native vscode-like IDE...
https://github.com/intellij-rust/intellij-rust#compatible-id...
I understand the same goes for yet a third branch, which is .Net, and possibly a fourth, which is AppCode. But I don't have any contact with those ecosystems, so don't really know.
You had one job JetBrains -> speed up developers. I dont need half of the features available. Terminal does a better job at most of them and will never change.
But for the stuff I need and is used by millions if not tens of millions of developers.. just keep it working.
I feel like its slowly the time to move to VSCode. An army of JS Devs will keep on updating it.
They do a lot of smart engineering around the editor: https://code.visualstudio.com/blogs/2018/03/23/text-buffer-r...
I found the slack support for JetBrains to be absolutely fantastic. Super helpful and very technical. Having written plugins for both VSCode and JetBrains I prefer the latter but I have a heavy Java bias.
I agree that the multi-IDE strategy is problematic. They usually offer an option to just install plugins but with CLion they kind of dropped the ball. Which is surprising because I run their rust plugin on IntelliJ and it works well. Hopefully they'll address that too.
What if those remaining 10% are essential to your productivity ?
Like, will it autocomplete in my Django projects the way Pycharm does with models, up to their relations ? If so I may give it a try.
It turns out, though, there is a lot of value in homogenizing your application skin. Users can recognize each other's applications, and help each other out. Whole categories of problems are avoided, like poorly written custom components that aren't PLAF compatible. I don't have the answer, but I find it interesting to consider the forces pushing for and against putting greater UI control in user hands.
This is pretty well documented in the UX world, it’s called Jacob’s Law[1] and it states that your users spend most of their time using other products, and they generally prefer yours to work like others they’ve already trained themselves to use.
I get that change always comes with resistance, but I will never understand the knee jerk reaction of “they’re morons and they have no idea what they’re doing” that is so common with change.
[1]: https://lawsofux.com/jakobs-law/
What's there to understand? In most cases they are morons that don't know what they're doing (and are not doing the change to improve users' lives, but to drive internal promotions for product people).
The "Electron bloat world" editors have been much more snappy in my experience.
Typically the "java world" editors will lag out to the point where tapping on the "File" menu will take 3-5 seconds on occasion. Also they seem to rely on "indexing" and while the "indexing" operating is taking place, the entire editor just slows to a complete crawl.
I've seen this in Android Studio, IntelliJ, Tizen Studio, Eclipse - pretty much anything that's "java world". Apologies for the imprecise nomenclature, but this has been my experience and after so many years it has reached a stage of just low expectations from me whenever I see anything related to these IDEs.
Sublime is the only non-ancient editor I've used that is actually snappy, I can't perceive any lag. It feels like native software used to feel, yet looks half decent.
Vscode is slower, with both input and general UI lag. It helps to turn off hardware acceleration, but only a little. Luckily, you get used to it. Unless you go back to Sublime/Vim/Nano for a while, you stop noticing it.
Then there's the "you should be using"-ones...
* Visual Studio. Syntax highlighting takes a second or two when opening "large" files, input latency is bad, sometimes it takes longer to save a file than it does to compile your project, which now runs without your changes.
* XCode. Syntax highlighting works on Tuesdays, input latency is horrible. Randomly need to restart when certain features just stop working.
* Android Studio. Input and UI latency, needed 5 out of my then 8 gigabytes of RAM to load an empty project, had to close most other programs when working on a medium sized app, including my browser (Slack, Email, Teams etc).
* Goland. I've tried using this on both Windows and Linux, but I've never gotten anything to compile consistently. Indexing takes minutes, CPU usage randomly spikes, memory consumption constantly climbs... it just seems to eat resources doing nothing.
Sublime is the only (non-Vim/Emacs) editor I've used that takes my time, room/lap temperature and ergonomics seriously.
Are you still using a hard disk drive? I think I was last time I saw a delay that took that long on IntelliJ IDEA.
Why?? For more white space.
Just vim :-)
Jetbrains should keep working on their own thing instead of trying to change because of someone else. This holds true for people as well.
That said I was talking to a friend about how great it was and he was like "yeah all these things you describe seem like they were lifted from magit" so I suppose once again the answer is "magit is still the best".
Maybe if I ever have the motivation to actually set up an editor I'll try Spacemacs again but I get frustrated when things don't just work and end up going down the configuration rabbit hole anyway.
Also one of the reasons I'm not that thrilled about Fleet. I get it's easy to just in general be negative to change. But these are professional tools. I've used it for over a decade. I don't need it to be dumbed down.
Right now I'm comfortable and never enjoyed VSCode and others. But if I'm forced this change, what's stopping me then from trying a completely different IDE?
This means it will take resources away from the development of the established products. You cannot have the cake and eat it.
Another reason icons suck is that different apps use the same or similar icons for different things, my memory just doesn't "click" with simplistic icons.
The old UI is information dense but easy to work with. It is one of the reasons I went to and paid for Jetbrains on my own dime, rather than using VS Code like others at my workplace.
The new UI looks nice but it won't work well for me. If they want everything to be so similar to VS Code then I might as well use that.
To OP, I recommend downloading the version you like and sticking with it. You'll be good for years. Use this time to occasionally research alternatives.
I just wish they would invest more money into things that are actually a problem currently like how slow indexing is and how disruptive it is when you do a clean re-install and it indexes all your dependencies again.
I have tried spacemacs which gives a lot of functionality out the box with less configuration needed than DIY vim or emacs but it still just doesn’t compare to the ease of use of Jetbrains IDEs across languages (I use Java, Python, Ruby and Typescript every week).
I've been waiting for indexing improvemence for over 10 years, not holding my breath.
But for some reason, whenever I reopen a project, it needs to reindex it. Even when I open the same project every day, not having changed anything in between. I understand from a friend it doesn't do that with Java projects.
Sometimes it does. I have no idea what causes it.
You installed an npm package and it seems to depend on all the things? Let's start indexing on node_modules and give you no chance to even uninstall the **er. You used the CLI to work around our tooling? Hey let's start indexing immediately after this one finishes so it's a great idea for a coffee break, just never pull directly after coming back so you may actually do some work until we bog down all the cpu cores.
Don't get me wrong, I love all the JB IDEs, but indexing has been a deal-breaker for many.
I wish it bogged down all cores.. I work on relatively small Java projects (maybe 10 KLOC, 20 or so items in the pom.xml (although these obviously have transitive dependencies)). IntelliJ 2018 would re-index everything in a few minutes using all 20 vcores. I specifically spent about $8k on an iMac Pro back in the day to make this faster.
IntelliJ 2022, on the other hand, uses only 4 cores, and takes about 10 minutes. That's a stupid default (if I buy a powerful computer I want to use it..).
There is a setting to override it, but in my case it just doesn't work. CPU goes to approx 400% and just stays there. I filed a bug report, no movement.
Edit: I should say 12-thread, not 12-core, just to be clear on the performance level we're expecting here. It's a 6c/12t i7.
I haven't worked with Java in ~2 years so I'm not sure how bad it is now. I might start a NiFi index job just for fun...
I think their developers have no idea how it works either and just gave up some time after the useless shared indices came out.
That's both on my 16-inch M1 Max and my M2 Air with Go in Goland.
Found that while searching for the same problem
I did make an attempt to be the million line vimrc, t480, arch Linux guy (from reading HN) for a month or two but I found it was taking up so much time it was basically a hobby. I would rather just have something that works out the box (Mac + jetbrains) and be able to spend work and hobby time coding interesting stuff.
The fancy vim configuration just becomes more and more frustrating the more languages that you use and you start to run into weird things like when you start a new line in markdown the cursor doesn’t start at the same bullet indentation level so now you need to debug which plugin is messing that up.
Or if your Linux laptop doesn’t actually go to sleep (and goes flat) and PyCharm needs to index _again_ on start!
We are not fine with it. It really sucks. It's just out of our hands.
To this day I hate the gmail interface. It used to be so much better back in the day.
It was more pleasant to look at and provided more useful functionality on the UI.
The modern trend of wasting space and erasing colors is really bad.
The only new feature I like is the "tab" categories (but only on desktop). Though they really botched it because now I'm confused about the difference between categories and labels so I don't use labels anymore. IMO they should have used the existing labels system for that.
It was also pretty easy to find and read your email, which it currently is not.
I wish there was a better balance between both UIs. The "better looking" one wastes too much resources (CPU, memory, screen space).
It's not about resource cost for me, I use high end hardware and fast connections (coupled with ad and script blockers, both in-browser and at network level, which are probably adding to the frustration) and not only does it load and run like complete crap, I literally couldn't find an email I knew was there in my "inbox" last time I opened it.
I only use Gmail/Workspace for family/personal stuff so I just use mobile apps 99% of the time now, but if I had to use it more regularly I'd be quite annoyed.
Not that Office 365 which I use for work is any better in a web browser.
The "basic HTML" version is probably not exactly as any previous version but it's a good approximation. I think it makes much better use of color and space, and the buttons have text labels instead of using an arcane symbol language I have to relearn every time I have the misfortune to use it.
Actually I did use the web client one time recently and I literally couldn't find an email I knew I'd just received; my inbox is kept at 0 unread; so in theory it should have been impossible NOT to see it, right? After the initial confusion then annoyance came the realisation and I just went and found my phone to read it on.
I'm neither fine with Gmail, nor with major changes to Jetbrains IDE which I've been using every day for years now, and totally agree with all of the points in the article (and by extension this thread).
I actually really like it. I've been looking at IntelliJ for 8 years, the refresh is really very welcome XD. I also haven't noticed any lost functionality.
https://mail.google.com/mail/u/0/h/
Still points to the "basic HTML" version, which is at least faster than the standard one. (I use it, and I'll keep using it, until I can, I guess.) https://support.google.com/mail/answer/15049
JetBrains is good for stuff I rarely do in the editor, like certain types of debugging, but otherwise feels too heavy, expensive, and hard to configure across installs. Finding a particular config option is always a hunt.
My dad was a vim user since the 90s and he ended up switching to IntelliJ a few years ago as well. It’s just significantly less hassle and has way more intelligent intellisense/autocomplete.
I used to meticulously maintain a vim config for the 8 or so languages I switch between, but eventually realised that for me the good part of vim is modal editing, and that IdeaVIM gives me that without having to fuss with it. My vimrc is now empty and it’s relegated to commit messages and fixing merge conflicts…
Do you know you can search for an option in the settings menu? Actually, you can search just about everywhere.
You can also set your IDE to store your config in a git repo so that it's the same everywhere you use it.
You should be debugging alongside development to gain deep understanding and reduce errors. No amount of "test" coverage can replace that.
I'm always skeptical about people who don't use IDEs and I'm almost always right about them. And it's not the good kind of being right.
Can it:
- assign (scenario, subsystem, level, description) to breakpoints and watches, so they can be turned on/off or selected in groups for debugging without removal?
- commit these scenarios of bps and watches into a repository?
- edit/read them in a textual form to patch or share over an IM?
- store traces of previous sessions and diff them to find out what changed?
Does anything even remotely similar exist? Most debuggers are just test-pause-and-inspect tools with “integration” in the form of eval on mouse hover. Their ux and dx sucks and the only reason I could find to use them were slow build times and too low-level runtimes, which are no more today.
Pretty sure most people avoid debuggers not because they are too hard to learn (they aren’t), but because they are too dumb to be useful, given that you can ‘if (cond) log.level(…)’ and restart instantly.
In Jetbrain's tools they definitely can. I can
* create a bunch of breakpoints
* give them descriptions
* only have them break on execution under certain conditions (conditions stated via the programming language being debugged, so `my_struct.some_func() == 5`)
* disable and enable breakpoints with a click of a button
* have a breakpoint only become active when another breakpoint got hit (and therefore only cause the debugging logic to execute in certain code paths
* Have a breakpoint not stop execution when it gets hit, which is useful because I can then
* Log when a breakpoint gets hit, including it's stack trace (so I can see exactly the flow that got me to that breakpoint)
* Evaluate some variable when a breakpoint is hit and log that evaluation.
All of this with an extremely simple UI that can be manipulated without any recompiles and while the application is running. I've gotten tons of value of debugging complex scenarios in both C# and Rust via this constructs.
So while I'm not going to convince you that debuggers are worthwhile, to call them "too dumb to be useful" is pretty naive.
The problem that debuggers solve is simply not a big problem anymore, in my experience. Definitely not worth the setup hassle when actively working on multiple platforms.
As a fellow debugger lover, having to basically use log statements instead of being able to reach in and debug was a rude awakening. Some people probably don’t know that debugging can be easy with the right combination of IDE and language. Or the billion software layers mean that the debugger fails to attach for some reason which can’t be figured out.
Debugging and using IDEs are entirely orthogonal. DTrace and lldb are far more valuable to me than a graphical step debugger, which I effectively never use. As it happens I use JetBrains IDEs full time.
One option is to use their sync service with your Jetbrain account, but you can also use git[1]
It definitely makes it easier to move machines when your settings and plugins are kept in sync with it.
[1] https://www.jetbrains.com/help/idea/sharing-your-ide-setting...
Apologies if you have accessibility needs and that’s the reason, but otherwise what is so unique about your editing requirements that requires such extreme customisation? I just use tools as they come. I try not to change anything. Less entropy in my life.
(Emacs, of course, has best in class discoverability via M-x and C-h, which allow you to find and introspect basically everything that's available to you, but then Emacs is an OS, not an editor)
It’s an uncomfortable feeling to see something new, and sometimes it genuinely is a step backwards, but I feel most of the time it’s progress and you get over it after a month.
I kid, I kid.
But not really.
I wonder how many percent of users are sticking with the old UI.
Even now when I look at Gmail 2004 I find it superior to the current UI.
It might look a lot prettier now, but it's much harder to actually do things from zero knowledge, I do fear we've regressed.
”New packaging, same great taste” the professional liars proclaim; as the box got emptier, the false bottom bigger, the air more voluminous, the filler lower quality. No, no. Worse things are in fact good for you. The party proclaimed it, so you are required to believe it. Or else.
Even more controversial is both the cause and the remedy, for which the overwhelming number of people, especially on a site like this, have absolutely no interest in facing; so I will refrain from expanding on that. It’s irrelevant anyways, because the consequences are as inevitable as they were clearly predicted and suppressed.
The abusive relationship that the western world in particular is currently in, remains largely furiously defended, like any other abusive relationship the abused have not yet faced reality about.
That results in continued comments one can also see in these threads, proclaiming essentially how “no, no, degraded features and lower information density against my will is actually a good thing”, which is no different than “I would not get beaten if I just made smarter decisions”.
The problem is precisely what you say: UI """designers""" don't make evidence-based decisons and don't do research or look for user feedback, they simply go with whatever they subjectively think best.
Don\t get me started on GNOME-iffication of apps.
Or stop the damm thing to run indexing, or avoid doing 10 finger combos, showing code problems without running inspections, doing Java compilation on save without using Eclipse's own compiler,...
> doing Java compilation on save without using Eclipse's own compiler If you are saving files with Intellij. Configure Intellij to save when focus is lost. I haven't pressed Ctrl-S in 15 years in Intellij. Regarding the automatic compiling whenever you save, like in Eclipse. I am really happy it doesn't do this. Because it means I can work slow compiling projects at all. I can work with refactoring features while my code is in the middle of larger refactoring and it doesn't compile. And so on. But if you prefer Eclipse's workflow, why not use Eclipse?
Incrementally compiling on save, is hardly noticeable versus continuous indexing.
Eclipse has incremental compile. Only parts you changed are compiling and it is not slow at all.
> I can work with refactoring features while my code is in the middle of larger refactoring and it doesn't compile.
That works in Eclipse perfectly well - except that code completion and suggestions are much better then the ones you get in Idea.
Especially in cases when much more important tasks are at hand, as you rightfully note.
Sadly it’s not actually just a UI refresh but a UI downgrade because they’ve actually removed key functionality, not just tweaked some visual styling.
It’s a completely different tool window layout mechanism with far fewer tool windows that can be open at the same time. I rely on having my source control, embedded terminal, problems window, commit window + more all simultaneously visible. It’s key to my workflow to have a number of key windows open and their new layout throws this all away.
So far its the most disruptive and user hostile “UI refresh” I’ve ever seen and will see me moving back to Visual Studio if they persist with it.
They dont, not compared to eclipse and java. They are more lightway and look nicer, but it does much less for you. (The default call hierarchy is just atrocious for example, you can see only problems from small part of project etc)
I'm not fine with it. It's still an accessibility DF for me, and I use HTML mode, despite it being semi-broken.
However, I do want to point out that I don't think the author has actually used the new UI considering they mention the overuse of animations, considering that the new UI doesn't have _any_ as far as I can tell.
I mostly use keyboard shortcuts and when I don't know the combination, I rely on the Search Anywhere (double shift) and Run Anything (double ctrl) functionalities.
I find the new UI less distracting and the new VCS menu is a nice addition.
I also wonder how much technical debt has accumulated in the previous UI that is being addressed by a refresh.
That, happens to be exactly what I want (icon + label for most things).