Hacker News new | past | comments | ask | show | jobs | submit login

From my experience out of the box you get poor performance and you have to spend a lot of time figuring out how to change configuration to improve it as knowledge is scattered in many places and not always up to date. Then it still likes to stall from time to time or sometimes doesn't register key presses properly. It's a poor user experience, but even worse is that alternatives are often worse. I wish there was an editor with low latency, smart search, some proper file system database, so it doesn't take ages to open a directory and built in VCS support, that works quicker than manually issuing commands in a terminal.

I think the success of VSCode is because you can easily open it in your current directory from the terminal and it will show you your folder etc. without having to setup a project first and that you are ready to type you code quickly after opening. If I had to open PyCharm every time I want to try some Python in a new directory, I would probably start questioning my life choices. Before VSCode I would just use nano or Sublime.




JetBrains products _are_ pretty much the best. I think Android Studio + Kotlin is the best, most impressive IDE experience I've ever had. Mostly because Android Development in general is kinda hard, and Android Studio cleans it all up so nicely for you. It really outshines XCode in this regard.

I've never used CLion but I really want to.

That being said, I think it's clear that VSCode is, and will remain, dominant.

First: its free.

Second: it's simpler.

That alone is enough to make any product dominant. The fact that's it free, simple, and pretty much just works is pretty stunning.

VSCode for Unity Game Development kinda shocks me how you can literally install the IDE while the game is running and successfully attach a debugger. It's pretty wild how reliable it is.

I'm not a VSCode fan boy. I find that it lags on my PC sometimes. I kinda hate the "notifications" that it pops up with. And I don't like the auto update mechanism or the Welcome screen, but overall VSCode (or Codium) is clearly the next level of IDE.

I think Microsoft is going to build some really wild stuff on top of VSCode and Github.

I think there gonna come up with way to leverage the amount of data they can mine out of github repos to write code for you.

I'm pretty sure that's a big reason why they bought github.


Today, Microsoft received an exclusive license for GPT-3. It is already known that it can write code if asked in natural language declaratively (in certain cases). I could see an integration with github's code (specifically retrained with) and see some really interesting stuff.


> I've never used CLion but I really want to.

Well, it has the best indexing of C++ I've seen but it's also the slowest IDE I've used (I've stopped using it when it froze showing a blank page for many minutes when I was compiling, since then it has improved, it no longer do this, but it's still very slow).

What's 'funny' is that all C++ IDE suck: CLion is awfully slow, VSCode likes to use >29GB of resident RAM if you let it open too long (no Vim isn't an IDE, it's a text editor which you can use to build an IDE yourself..) its indexing is quite bad most of the time, and also slow (enough that when I double click on something to get to the definition, I usually have the time to find/grep the source and open it myself before it has displayed the target :-()


Try Rider. I feel like it has all the usual JetBrains IDE features but it's faster than IDEA and the Unity integration is superb.


>I think there gonna come up with way to leverage the amount of data they can mine out of github repos to write code for you.

Somebody already did that in a plugin, trained a neural network on Github code to provide autocomplete for Visual Studio Code. I'm using it and it's great!

https://marketplace.visualstudio.com/items?itemName=TabNine....


> I've never used CLion but I really want to.

CLion user here and I think it is still behind IntelliJ and I wish JetBrains would put more focus to the product. That being said I believe it is way better for C/C++ and Rust development than any alternative that exists at the moment.


Definitely. Fedora + Android Studio + Kotlin is bonkers simple, clean and usable.


If you do decide to get a clion license, cppcast.com has a discount code for personal license which shaves 25% off the first year.

I won't post it here, just fish it out of the podcast, it's very nice.


They did something already https://github.com/features/codespaces


I just wanted to weigh in that I am in the codespaces beta and it's working quite nicely!

The experience is exactly what you'd expect, all the VSCode extensions mostly work and development is pretty smooth.

The only bad part is that I (ironically) wish it felt more like an "App" and not a browser tab.


> I've never used CLion but I really want to.

its definitely great for rust and pretty good for swift development too (imo ^^)


Don't forget it cam sync your configuration or let you sync it yourself as a file.


Well, I think you're right about performance being a problem, but I have 64 GiB and a 4790k and an NVMe SSD. It's like half a percentage of my pre-tax income and was even less when I bought it.

I don't need efficiency. I need something that, given fuel, gives me power. And as someone who has donated to vim, was an early backer of neovim's bountysource, and loves his terminal: vim is my ion drive, IntelliJ and friends are my conventional rocket.


I'm not sure how performance is a problem for Intellij. Granted, I've only ever used Pycharm but I've never felt it sluggish or "slow" or got the impression I was waiting around for the IDE to do its thing. All this on a 2013 MBP with 16GB of RAM.

I've found it also works very well on Linux on a laptop with a i5-8250U and 16 GB of RAM.

The only thing that seems "slow" is starting up and indexing libraries and whatnot. Now I've never loaded the same projects in VSCode, but I'm not sure indexing would be that much faster and the startup doesn't really bother me, as I don't launch it multiple times a day.


I've been a JetBrains user for about a decade now (intelliJ/RubyMine/PHPStorm) and for general editing you really don't notice the performance issues at first. But if you leave it running long enough or you make use of features that lean heavily on indexing like code inspections on large codebases or language level inspections as a couple of examples it will chew through memory like crazy and drag a machine down that's newer and higher spec'ed than you've listed.

That said, given everything it provides I don't think there is a better tool for the job despite the performance issues.


IntelliJ performs poorly if you have a many-module project with multiple independent `pom.xml` or gradle files on that Mac config you described. It does require tuning in this scenario to ensure that its Maven and Gradle imports do not fail and leave you unable to resolve your types. If you have a generate-source step you're going to be in even more trouble.


Would VSCode work better in this scenario? I'm not familiar with Java tooling, so my question is whether this is a tooling problem or an IntelliJ problem.


VSCode lacks many of IntelliJ's features so it would act as a text-editor with naive auto-complete better. With plugins and presumably an LSP link, you can get some degree of functionality but it does not compare in total.

I would not write Java anywhere but IntelliJ. Any long time IntelliJ+Java user has macros and templates written so that boilerplate is automatic. `psvm` is built-in, as is `sout`, but when I wrote a lot of Java I had ones for other common patterns at my workplace.


You may change your mind if you plug your MBP into an external 4K display and try to use a scaled resolution: https://youtrack.jetbrains.com/issue/JBR-526 — don't get me wrong, I love PyCharm too for all the reasons spoken about in this thread, but this issue (which has been open for five years now) has made me attempt to jump ship to VSCode for my python work several times. I _do_ always come back to PyCharm... so far...


This is completely not restricted to IntelliJ/PyCharm.

The MBP i7 is terrible for this, and I get thermal throttling all the time when I use 4k external screens and anything remotely that seems like work.


OK, but (for example) my experience is that I only experience this as a problem with PyCharm — it literally becomes unusable; VSCode (say) is fine.


Depends on the plugin that gets activated. Jest can bring it to its knees.


... because of rendering/scaling/4K? Or just anyway?


What's the reason for using a scaled resolution btw? Can't you just ramp up the font size in the IDE?

It looks like maybe a macOS issue as Windows/Linux don't have the same problem, but there's a port of Java to Apple's proprietary Metal API in progress for some time. It's possible that will fix it.


Yes, as it happens you can in PyCharm; in many other apps I use that's not the case, however. I've got used to running at full 4K but TBH sometimes I worry about eye strain.


I often use a 24" 4k display that I use at 2x and I never had any issue. With other "equivalent" resolutions it may be bad (never tried) but I've heard people complain about lag in that situation (even with a newer MBP and apps other than intellij).


I am running it most of the time with i7-8750H and also 64G or ram, plus a rather fast NVMe drive. Performance in comparison with VSCode is just bad. That being said I am using all JetBrain products (I have a license for all of them), because simply there is nothing better for my use case. But I wish they put some effort in optimising their code.


Sorry to hear that. Is that a mobile processor? Perhaps you're throttling. I boost RAM on my IntelliJ quite high (I give it like 8 gigs plus a gig each for each of the tools - Maven, Gradle, etc.). Your setup looks better than mine except for the fact that its mobile.


(disclaimer: I am an IntelliJ fanboy)

> From my experience out of the box you get poor performance and you have to spend a lot of time figuring out how to change configuration to improve it as knowledge is scattered in many places and not always up to date.

I don't know if you are talking about IntelliJ or VCS, but IntelliJ can quickly start an empty project. And you don't to spend time to figure out how things work. I mean, there is literally no entry barrier for a bare bone project.

> I wish there was an editor with low latency, smart search, some proper file system database

You are describing an IDE here. Smart search and a proper file system database, it means operating not on a collection of text files but on a project and a code tree, which is the main difference between IDE and Editor.

> I think the success of VSCode is because you can easily open it in your current directory from the terminal and it will show you your folder etc.

IntelliJ is adding this functionality slowly: https://blog.jetbrains.com/idea/2020/04/lightedit-mode/ It's not on par with opening a folder in VCS, but it's a matter of time until the close the gap if they choose to.


I know this is how a lot of people think of the text editor/IDE divide, but it’s just not true anymore: for specific languages like Clojure or Common Lisp, emacs has plugins that provide all the essential features of an IDE with minimal fuss. For JavaScript, VSCode or tide-mode for emacs have, in my experience, significantly better code intelligence than WebStorm. The only languages IntelliJ is better at than the competition, IME, are Java, Kotlin and Scala: and, even in these cases, the LSP tooling is catching up fast.


> emacs has plugins that provide all the essential features of an IDE with minimal fuss

I vehemently disagree. There is no such thing as minimal fuss in emacs, especially when it comes down essential IDE features.

> for specific languages like Clojure or Common Lisp

Common Lisp is esoteric language at this point, not relevant here, IMO.


I agree. Which language you use defines which editor/ide suits it best.


What about Resharper/Resharper++?


Well, obviously a text editor built on top of Lisp is going to be pretty good at editing Lisp-based languages like Clojure. Emacs is pretty poor at everything else though. I remember trying to get it to do even basic completions in C++ beyond hippie-style completions and it just couldn't do it no matter how many packages or servers it had to help it. That was some years ago though, but emacs develops slowly so I doubt it's changed.

That said, the tiling WM features it has are pretty good.

"LSP tooling" for Java/Kotlin/Scala doesn't exist as far as I'm aware. I'm sceptical about LSP stuff anyway. In an IDE performance and latency really matters. IntelliJ plugins have direct heap access to the AST and editors so they can rapidly explore the code, add annotations etc. Java adds some overhead but it gets lower every year, they just never stop optimising the JVM, and serialisation/context switching is gonna add a lot back. Especially as you'll really want to be writing language servers in high level languages anyway. There's no justification for writing such a thing in C++ or Rust.


> "LSP tooling" for Java/[…] doesn't exist as far as I'm aware.

There's https://github.com/eclipse/eclipse.jdt.ls. It's used by Visual Studio Code's Language Support for Java (https://marketplace.visualstudio.com/items?itemName=redhat.j...).


I use this with emacs, and it works pretty well: it was built for Eclipse, but it’s well-integrated into lsp-mode and, more or less, “just works”.

There are also Kotlin and Scala LSP servers that work. The servers themselves can be a bit annoying to get working, but the emacs integration “Just Works”.


I've used both VSC and IntelliJ and I understand where you're coming from but when the parent comments says VSC is fast they really mean it. It's almost instantaneous and I can get a lot done in VSC even without all the complex smart functionality.


I use both VSC And IntelliJ. Searching symbols/usages/implementations in large projects is far faster in IntelliJ in my experience, not to mention it's much more accurate too but that's probably due to the language (Java/Kotlin in IntelliJ, Go/JS in VSC). It's really annoying when I have to wait seconds to find implementations of a Go interface in VSC as I am used to IntelliJ's instantaneous searches. I think you mean VSC is faster to start up, and perhaps to type? It's certainly not faster overall.


In my experience (on Linux), intelliJ reacts immediatly when I type, vscode always has that little delay that always make it feel weird to me.


I'm a fanboy of both JetBrains and VSC. In the many years I've used JetBrains IDE variants (IntelliJ, Webstorm & Pycharm), I was never able to get rid of the frequent project re-indexing that slows everything down and makes the fans go crazy; you'd think they would cache that info and write it to disk.


They introduced recently an interesting feature: https://blog.jetbrains.com/idea/2020/07/shared-indexes-plugi... that might help with indexing of some shared libraries. I have not experience with this feature, but it looks promising.

Frequent re-indexing sucks and and times it slows you down. But I see it as a direct price to pay for intelligent autocomplete, search, refactoring, etc.

It also eats a lot of memory :(


It is cached and written to disk. Actually they're now going further and supporting downloads of pre-calculated indexes.

I use IntelliJ every day and I'd say reindexing only happens now when there's an actual need for it, like because I switched to a different JDK (which may therefore have different classes in the std lib). It's incremental too so this doesn't bother me like it used to. Definitely an area of focus for them.


I see them as complementary. VS Code shines if you’re jumping between independent codebases for distinct projects, and startup time matters.

But my startup monorepo I keep loaded in IntelliJ for days at a time and have never looked back. For the 1% of time it’s laggy due to a JVM GC or background indexing, the other 99% of the time it’s immensely productive to have e.g. full-stack debug breakpoints that Just Work, well-designed customizable gutters, integrated linting, and more.


You can have multiple project windows open in IntelliJ, and opening a project from an already-running instance takes only a few seconds, so I don’t think that’s really relevant.


I wonder if ZGC in Java 15, now that it is GA, would clean up any lag folks see.


I tried both ZGC and Shenandoah (with plenty of heap space available) and haven't noticed much difference compared to the default CMS. Also, Shenandoah (or maybe both?) does not support compressed pointers, so there was a noticeable increase in memory usage.


Personally, my experience with jetbrains IDEs is not that they lagged, but simply that they were slow.

ZGC would probably harm more than help.


IntelliJ isn't really the IDE for dicking around with ideas. Projects or not, it's just too fat. I am an IntelliJ diehard myself and I usually have a copy of Sublime Text open as well, usually to use it as a scratch space, to peek at logs or somesuch, or for playing with code that isn't quite yet in a runnable state.


The funny thing is that I can't tell if you're talking about intellij or vs code from the first paragraph.

I find vscode a horrifying experience that is forced upon me because of poor choices made elsewhere in the org.

I'm slowly picking up vim to replace it but I'd rather just not be forced out of my editor I still use daily (sublime.)

In hindsight I wish I learned vim instead of sublime.


I sometimes wish I hadn’t learned vim, because it limits the tools I’m happy using. Since I’ve built the vim muscle memory, every other text editing experience feels crippled, so I actively avoid products that don’t support at least basic vim key bindings. Luckily the list of products with vim bindings keeps growing.


So true. Like when you find muscle memory has injected :wq into your file in notepad.


> From my experience out of the box you get poor performance and you have to spend a lot of time figuring out how to change configuration to improve it

This hasn't been my experience of JetBrains Rider at all - granted that startup does take a few seconds, but after that it seems to fly.

> Then it still likes to stall from time to time or sometimes doesn't register key presses properly

This was my experience with Visual Studio; I used it for over a decade because it is a great IDE - but performance and stability has never been great, and eventually I just couldn't stand the occasional lag any more and jumped ship to Rider. My experience there has been very different - it's rammed with at least as many features as Visual Studio, but has been rock solid, and never lags in use.


Jetbrains were doing some work with a lightweight editor in IDEA to help with the “quick edits” use case.

https://blog.jetbrains.com/idea/2020/01/intellij-idea-2020-1...

https://blog.jetbrains.com/idea/2020/04/lightedit-mode/

It only appeared this year so it’ll be interesting to see if it gets traction.


The main reason I use VS Code is I tend to work on a lot of mixed-language development. I often have Python, rust, custom DSLs and C++ in the same code base with a custom build system. VScode gives me the flexibility to use all of them to their fullest potential without needing to support the build system. That being said if were to use Java I would probably not move away from intellij. Last time I tried clion though it was a disaster.


In IntellIJ you have scopes, where you can narrow down the project view to a set of folders, which is useful if you work on monorepos. Scopes affect not only the project view but also file search.

You can disable plugins you don't need, and mark folders as excluded if you don't need them indexed, that makes it faster.


What are some of those config that improves performance for Jetbrains IDEs?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: