How to live without IntelliJ IDEA? Part No. 1. Assemble it yourself

After all the steps, you have at your fingertips an IDE configured for developing Java applications using Spring Boot. The instructions were tested on several Java developers and helped them completely switch to VSCode, without thinking about the risks of blocking and limitations of stripped-down versions.

We rather adhere to the opinion of one of the developers in comments:

I tried everything described and had mixed feelings. It seems to be workable, but somehow cosmically far from the idea. Even before the community.

Indeed, we did not find many of the features that we are accustomed to as Java/Spring developers in VS Code with the entire set of plugins presented in the article. These include:

  • Advanced refactoring tools

  • Advanced debugging and profiling capabilities

  • Powerful Code Navigation Tools

  • Deep integration with the Spring Framework and its ecosystem

Eclipse and NetBeans

Article And article. According to the authors and some developers in the comments, both Eclipse and NetBeans are excellent IDEs. However, judging by the survey we mentioned, the number of developers sharing this position is actually not that large. In the subjective opinion of the Spring IO team, in 2024 both Eclipse and NetBeans look a little outdated, and Spring support after IntelliJ IDEA seems insufficient. This may be due to the lack of sufficient immersion in these IDEs, as well as the very small amount of material about them on the Internet.

Giga IDE

Essentially, Giga IDE is IntelliJ IDEA Community Edition, but with a large number of pre-installed free and open source plugins. A full review can be found in this article. To summarize its contents: it’s great that there is an IntelliJ assembly from a Russian vendor, but the quality and quantity of plugins included in it remains questionable. For example, the LSP4IJ plugin included in the build under certain circumstances caused the Spring IO team to completely freeze the IDE.


To summarize, of the alternatives to IntelliJ IDEA Community Edition that can be chosen by Russian developers, it seems that the closest option may be Giga IDE, but it is not without its drawbacks.

From the point of view of the Spring IO team, the ideal solution to the problem, not related to the quality risks of the plugins included in the assembly and legal issues, would be to independently assemble open-source IntelliJ IDEA and configure it exclusively with the necessary plugins.

Let's see how difficult it is to do this and what difficulties you may encounter in the process.

Assembly instructions for IntelliJ IDEA Community Edition

The process of building installation images for any of the most common operating systems is actually quite simple. Let's look at each step in detail to understand why certain files are needed and what the scripts that will be involved in the process are.

1. Clone the IntelliJ IDEA Community Edition repository

– Let's go to IntelliJ IDEA Community Edition GitHub repository.

– Copy the link to clone the repository.

– Open in IntelliJ IDEA.

2. Determining the version to build

– Go to the site with the list all available versions IntelliJ IDEA.

– We find the number of the build that we want to assemble ourselves. For example, 242.23339.11.

The build number identifies the specific version of IntelliJ IDEA. Using it, we can switch to the appropriate branch in the repository to build exactly the version we need. The build number may be important for compatibility with certain plugins or features that may be available starting with a specific version of IntelliJ. In this case, 242.2 means the 2024.2 version of IntelliJ IDEA, the rest of the numbers are not so interesting to us.

3. Running the script getPlugins.sh

– In the root of the project we find the file getPlugins.sh.

– Run the script by running the command in the terminal: ./getPlugins.sh.

Script getPlugins.sh automatically downloads the necessary plugins and additional components that are not included in the main repository. More specifically, after executing the script getPlugins.sh a directory will appear in the project android.

4. Switch to the desired branch

– Directory android linked to a separate git repository.

– For it, just like for a git repository associated directly with IntelliJ IDEA, you need to switch to the branch with the build number that we selected earlier. For example, idea/242.23339.

5. Preparing for assembly

– Make sure Docker or its equivalent (such as Rancher) is installed on your computer.

– If you are in a region with limited access to JetBrains resources, you need to switch to a non-Russian IP address.

6. Running the build configuration

– In IntelliJ IDEA, open the run/debug configuration list.

– Select the Build IDEA Community Installers (current OS) configuration.

– Let's launch it.

The IDE automatically performs all the necessary steps to build the installation file:

– Compilation of source code.

– Packing resources.

– Create an installation file for your operating system.

Depending on the power of your computer and the speed of your Internet connection, the process may take from 30 minutes to several hours.

– For example, on a laptop with an Apple M1 processor, assembly takes about 45 minutes.

7. Search and installation of assembled IntelliJ IDEA CE

– After the build is complete, go to the directory out/idea-ce/artifacts.

– Here are the installation files for your operating system:

.exe for Windows.

.dmg for macOS.

.tar.gz or .sh for Linux.

8. Run the installation file and follow the installer’s instructions.

Note that for MacOS you will need to run the following command before installation:

xattr -cr /Applications/Intellij\ IDEA\ CE\.app

Now that we have learned how to build IntelliJ IDEA Community Edition from source code, let's think: what if we want to create a custom version for our company?

Such an assembly may be required not only to change external attributes such as the name, icon or welcome screen, but also for more serious purposes. For example, we may not want our IDE to send data to JetBrains servers to collect statistics. It is also important that our version works correctly with ToolBox and does not turn back into the standard IntelliJ IDEA Community Edition when updating, as happens with Giga IDE. Additionally, given recent restrictions and inability to install plugins from the official JetBrains marketplacewe would like to have an alternative marketplace built into our IDE, accessible from a Russian IP address.

Of course, the implementation of all these tasks requires significant effort and time. The Spring IO team continues to study these issues and look for optimal solutions, but full customization of IntelliJ IDEA is beyond our current goal.

Therefore, as a first step, we will consider how to change the basic elements: title, pictures and icons.

Instructions for customizing IntelliJ IDEA CE

In fact, such small customization as changing the name, welcome picture and icons is not difficult. It is enough to change a couple of lines of code in several files: once, two. And also replace the pictures with the ones we need. The final list of changes will be quite modest:

And this is what we get in the end:

When changing sources, it is important to remember that this is just a change in appearance. Our build will still be considered IntelliJ IDEA Community Edition. This means that when updates are released for IntelliJ IDEA CE, our version will also try to update, as was the case with Giga IDE.

To avoid this situation, it is necessary to create a separate module that will describe the features of our assembly. However, this is a separate topic that is unlikely to be of interest to ordinary developers. Rather, it will be useful for organizations planning to release their IDE based on IntelliJ IDEA Community Edition.

But why all this?

An attentive reader might have noticed that during the process of building IntelliJ IDEA Community we needed to switch to a non-Russian IP address. But why then is all this necessary, if after switching you can freely download both the Community and Ultimate versions?

The fact is that by downloading the ready-made IntelliJ IDEA Community assembly from JetBrains, we receive not only its open-source part, distributed under the Apache 2.0 license. Along with it, plugins are also loaded that are licensed differently – under proprietary terms, for example, plugin Code With Me. Such plugins cannot be legally used in countries subject to export restrictions, including Russia.

It turns out that the only legal option to use IntelliJ IDEA in Russia and other countries subject to export restrictions is to build it yourself from open source code.

To be continued…

In future articles in the How to Live Without series, we'll show you how to get Spring support, work effectively with databases, and make HTTP requests directly from the IDE. Building your own IDE is just the first step towards complete independence!

Join the Russian-speaking community of Spring Boot developers in telegram – Spring IOto stay up to date with the latest news from the world of Spring Boot development and everything related to it.

We are waiting for everyone join us

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *