Since moving to VSCode my laptop battery lasts a couple of hours longer :-/
Since moving to VSCode my laptop battery lasts a couple of hours longer :-/
Maybe you've already tried this, but one thing that I've found is that the JVM heap size is sometimes set too low, especially when working in a large project. You enable the memory indicator in the bottom right ("Window: Show Memory Indicator" from the Cmd+Shift+A menu) to see the current and max memory usage, and you can click it to manually trigger a GC. If your heap is too low, you'll GC a lot, which can easily cause CPU spikes.
There are details on how to set the heap size here: https://www.jetbrains.com/help/pycharm/2016.2/tuning-pycharm... . But the short version is that (on Mac) I made a pycharm.vmoptions file at ~/Library/Preferences/PyCharm2016.3/pycharm.vmoptions and it includes the line "-Xmx3000m", which sets the heap size to 3GB.
I've also moved to VSCode and haven't looked back. My whole team is currently evaluating VSCode. That is ~$600/mo in subscriptions to IntelliJ Ultimate if everyone decides to move to VSCode - which is looking likely.
If using Java, Groovy, Kotlin, or Scala, Intellij will be much more valuable in terms of time-saving than the $600/mo subscription savings.
For most other languages, VSCode is easily almost on par with Intellij.
My gut reaction is that IntelliJ's indexing isn't yet properly optimized for the small-file dependency-hell that JS dev has turned into.
The unfortunate thing was that we were willing to upgrade to the newest Macbooks if they had 32GB of RAM and hope that helped (in addition to some VM woes for working on infrastructure) - probably would have kept IntelliJ in play but the swapping and it using 33% of RAM on our machines made it an easy target to try to replace.
In comparison, VSCode is using 70MB RAM on my machine currently with 6 projects open.
Any specific reasons why you're not considering PCs and linux?
We're a small shop so we have one team that does everything so one machine for all contexts is starting to be a pain. We did at least dust off some mac minis to do puppet (lots of virtual machines) work on those when possible to free up some RAM on our app dev machines.
That's a bold claim, considering the fact that most languages that have support from the Intellij platform benefit from refactor tools, quick fixes, linting, and code navigation. I'm not familiar with VS, but if it's anything like Sublime Text, Atom, etc. it probably only has syntax highlighting, some dumb auto complete and very basic navigation.
Also, don't forget Intellij has pretty decent support for Python, PHP, C#, C++, Rust, Clojure (all languages are personally tested) and even integrated git and db clients. Personally, I split my git activity between CLI and IDEA, but I have to confess, the IDEA client is the best I've used: integrated merge / diff tools, annotations, easy to browse logs etc.
Any IDE is more helpful for programming in statically-typed languages, which Java, Kotlin, or Scala are. Apache Groovy, also on your list, is dynamically-typed originally -- though static typing was added in Groovy 2, virtually no-one uses it -- so I question if any IDE, whether IntelliJ or VS, really gives time-savings there. Anyway, such dynamically typed languages like Groovy are good for glue code, build scripts, and testing, not for developing actual systems.
I usually just use procexp to give the music player process higher priority, which solves the problem (although not permanently).
(hovers around 0.5% for PyCharm with occasional spikes up to 40-50%)
Maybe a specific Python project thing?