When you spend more time in front of your code than you do with your family, you can officially call your IDE (Integrated Development Environment) “home”. Most developers invest quite a bit of time and energy in customizing their digital work environment with plugins, modules, and eye-friendly color themes. After all, it’s where they “live”.
If your IDE is your home then that makes other developers living in other IDEs your neighbors. When Java developers venture out to their Java neighborhood they are ready to step up and defend the homeland wherever they are called to do so.
Developers in online communities (Reddit, we’re looking at you) will vigorously defend their IDE or coding solution of choice with blowhorns, torches, and pitchforks. The louder supporters will continuously argue about which IDE is best, wholeheartedly believing there is in fact a best IDE that is superior to all others (hint: context is key).
Until recently, Java devs have been somewhat absent the IDE battleground. Some have argued IntelliJ vs Eclipse, with NetBeans making an occasional appearance, but there seems to be an overall consensus that IntelliJ is the leading IDE for Java. Now, there’s a (relatively) new kid on the block – Visual Studio Code – the free code editor from the Microsoft family.
Can the new kid on the block usurp the reigning king? And, if so, why and how would it happen? Let’s see.
The Main Difference Between IntelliJ IDEA and VS Code
JetBrains IntelliJ IDEA is a full-featured IDE aimed mostly at coders developing in Java and Java-based languages like Scala, Kotlin and Groovy. Available for free as IntelliJ IDEA Community Edition and Android Studio, IntelliJ also offers a paid subscription version, the IntelliJ IDEA Ultimate for an annual cost of $500 (for the first year).
When should you use VS Code?
When you need to code in .NET or any other non-Java language
VS Code is the only free tool for .NET development out there and probably the most widely adopted. The extensive support for languages and frameworks offered lets you switch between your languages or choice without having to switch IDEs.
When you’re working on primarily visual applications (like games)
VS Code offers comfortable integration between the GUI builder and code editor. For developers working on GUI components or graphic apps, VS Code might be a better fit.
When should you use IntelliJ?
When you’re looking for an IDE that is uniquely focused on Java
When you need a tool to get a specific job done, the most logical thing to do is use one that was built for it, and has proven effective. IntelliJ IDEA is just that and has a variety of plugins designed for Java specific purposes.
When you’re working on a particularly large and “heavy” project
As many Microsoft products tend to be, VS Code is just not very responsive. It’s slow, resource demanding, and tends to hang when attempting to import particularly complex codebases.
When you’re using a non-Microsoft OS
If you’re using a Mac or developing on a Linux machine, you simply can’t develop Java on VS Code as the plugin is only available for VS Code on Windows.
When should you choose something else entirely?
When neither gets the job done
Sometimes you come across a project that demands a specific setup and toolset to compile and debug. If it doesn’t work in IntelliJ or VS Code, time to give old Eclipse another go, or try something new altogether.
When the organization you work for requires you use a different IDE
Enterprises often have guidelines and standards in place to ensure all developers are using the same tools. In others, team leaders may prefer developers use their favorite IDE simple because it’s comfortable for them. Can’t really argue with the boss, can you?
Will VS Code overtake IntelliJ’s dominance of the Java block?
Though many are quick to praise the rise of VS Code popularity among developers, when it comes to to the Java developer crowd, most are still loyal residents of IntelliJ IDEA (and some still swear by Eclipse). The reasons are quite clear. Not only is VS Code (still) unsuitable for larger enterprise-level projects, it is also less reliable, responsive and stable than IntelliJ.
The performance and scalability issues may be solved in the future, but the day VS Code overtakes IntelliJ in popularity is far. In our experience, the main driver for IDE selection among developers is previous experience and access to mentorship and guidance from colleagues or teachers.
Even if VS Code someday becomes the development powerhouse Microsoft wants it to be, it will take quite some time before adoption among Java developers is significant enough for VS Code to compete with battle-tested IntelliJ.