Friday, August 5, 2022

IntelliJ IDEA, Lite version

IntelliJ IDEA is a "great" IDE, but also a "big" one. If you are a simple Java developer, you would still be hauling a load of tools and frameworks that you would never need - Android, Kotlin, Groovy, etc. - when you install standard IDEA Community Edition (IC).

This experiment is an attempt to cut down IDEA IC from 600+ MB to ~200 MB - nearly one-third of the original size. It derives the new bundle by partially downloading the latest IC snapshot bundle (can be pointed to a specific version as well) from IDEA's artifact repository.

Following components are mainly excluded from the download by default:

  • All plugins (ditching Android, Gradle, Kotlin, Space, etc.) except a chosen few (Java, Git, Maven, JUnit, etc. specified in the whitelist; adjust as fit for you)
  • Many libs; IDEA tips JAR, Kotlin (except few essential JARs), SQLite, Rhino, ...
  • Natives for Linux/Mac (I'm on Windows; add linux/ or darwin/ instead, as fit for you)

Inclusions and exclusions (overrules inclusions; e.g. get Maven plugin but not the built-in Maven distro lib/maven3/), can be tuned using two whitelist/blacklist configuration files on the download tool itself.

The tool also has a "dry run" mode; this will just download the metadata of the latest IC zipfile (usually 100-200KB) and display the details (names/paths and sizes) of available files, categorized as inclusions/exclusions. It can also "reuse" an existing IDEA IC zipfile (if you have an old/previously downloaded one on disk), to skip any unchanged components and only download the new/changed files from remote.

I have been using IC 2021.3 "lite" (downloaded using this tool) for almost a year, without any major issues or performance hits. It even "feels a bit faster" (although that could be an illusion) and consumes fairly less memory. (I have not actually run vanilla IC/IU (Ultimate) in parallel so cannot provide or comment on any concrete figures or savings.)

No comments: