Home / Blog /
Intellij vs. VS Code: Which is best for Java devs?
//

Intellij vs. VS Code: Which is best for Java devs?

//
Tabnine Team /
4 minutes /
November 4, 2019

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. 

Now, not every new IDE that pops up on a Hackernoon blog post deserves to be compared with IntelliJ, which has been around for 20 years.

However, VS Code is more than a new kid on the block. In a short period of time, VS Code has been able to break down the wall between IDEs and text editors. VS Code is one of the first to be able to do both and be both lightweight and function as a feature full platform, which has launched it to become the market leader among Javascript developers.

However, when it comes to Java, it’s another story.

(Source: JetBrain Dev Ecosystem Statistics)

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

Microsoft Visual Studio Code is a universal text-based code editor, with some IDE features and a growing Marketplace of plugins and extensions turning it into a fully-fledged IDE. More than anything, VS Code aims to be a flexible polyglot solution for multiple languages and frameworks including C#, VB.NET, F#, JavaScript, TypeScript, Azure, SQL, C++, Python, and Java. It is distributed for free and is open sourced.

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).

Do you stay updated with the latest advancements and trends in software development?

It’s essential to remain informed about new technologies and practices to excel in this constantly evolving industry. Learn how you can leverage AI to optimize your software engineering in 2023.

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.

It comes down to the classic battle or titan like clash between “all-in-one” VS “best-of-breed”. For a long time, IntelliJ has been considered by many to be the best Java IDE (sorry, Eclipse users). VS Code is brining a new all-in-one IDE offering to the table.

As is usually the case with these types of decisions, if you’re heavy into Java then we would recommend going with the IDE that is designed with that in mind and has working on providing a great Java dev experience for years.

However, keep your eye on VS Code and RedHat’s Java plugin as things can change in a hurry…

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.

Now, some of IntelliJ’s dominance is due to IDE loyalty, and Java developers are a loyal bunch. In our experience, the main driver for IDE selection among developers is previous experience and access to mentorship and guidance from colleagues or teachers. 

However, IntelliJ’s dominance is not without merit and it would appear that the guys at JetBrains are aware of VS Code’s growing market share, especially in Javascript, and not happy merely sitting on their laurels .

That being said, VS Code’s ability to become the IDE of choice for Java developers is, in our humble opinion, not a question of features or plugins but a methodological one. Will the future of writing software consist of a single, robust, software agnostic IDE or will software development be better served by using best-of-breed IDEs? Actually, what do think? Leave your comments in the comment section below.