Comment by lycopodiopsida
3 days ago
> but there's a reason I use IDEA Ultimate to write code now.
IDEA is so painfully slow that while I have it paid by my company I cannot force myself to work in it for extended periods of time. And I say it being fully aware of Emacs's speed problems. Also, the limitation on "1 Window - 1 Project" is laughable in IDEA, as well as in VSCode.
IDEA can certainly get slow, but `esc 10000 c-x e` still means I'm hitting abort before it gets even close to done. I use multiple panes/windows in IDEA all the time, and it also supports opening tabs in new windows/frames.
I have just opened a 7k loc JS file in idea and I can observe for at least 2 seconds how syntax fontification and all the hints are applied and rendered. All of it on a macbook M4. It is not acceptable and also the slowest of any editor I've used.
It uses that time to parse the source into an AST and build a search index to provide type-aware symbol search, information for autocomplete and refactoring if you request it, etc. Sure it will be slower than simply highlighting the code and then doing nothing with it...
If you use IDEA as a glorified text editor, you're using less than 1% of what it's capable of. It's a complete waste of computing resources then.
1 reply →
> the limitation on "1 Window - 1 Project" is laughable in IDEA
There's no such limitation in IDEA. If your project consists of separate subprojects stored in subdirectories inside a single large directory, just open that directory in IDEA. Your subdirectories will work/look/feel like different projects, all within the same window, with global symbol search, support for attaching SQL resolution scopes (i.e. attaching different databases to different projects and/or paths within them and having correct autocomplete), etc.
One of the things I work on is such a project built from a dozen separate subprojects, some of them written in Java, one in PHP, one in JS/node, one in TS/React, two in Go, one in Python. Plus the usual stuff like Markdown, HTML, CSS, SQL, etc. It all integrates very nicely within the same window.
If they're stored in completely separate directories, and you want to combine them into a single window for some reason, it's still perfectly possible by attaching them as "modules" inside your project settings. It looks and feels exactly like the first case, even when projects are spread across the system.