I’ll start with a confession – I was a Vim (text editor) lover and disliked IDEs. As a power-user I loved the power & magic that powerful text editors like Vim and did not like the IDEs that made developers lazy!
Perhaps that started with the buggy and pathetic Turbo C/C++ IDEs in the college days. I was surprised how most of my classmates were using them and (god-forbid!) even loved it. What bothered me was they didn’t even know how to invoke it from command-line (forget about using the powerful command-line options we can pass to control it). That’s how I also started using command-line tools and loved the power & magic of Unix command-line.
20 years fast-forward, and I can see how much I have missed the power of developer friendly IDEs. Of course, I am talking about ergonomic IDEs like IntelliJ IDEA. The main reason where the power of text editors stop is that they are generic (max they understand is syntax highlighting, code completion, etc.) – not language-specific capabilities and in-depth ones that require deep understanding of language and semantics (like the deep static analysis and refactoring transformations that IDEs do).
In this blog post, I am going to cover five reasons why you should consider using IntelliJ IDEA.
What I found interesting is we can have the power of text editors plus the power of IDEs. And IDEs can be super high-quality (and not like those buggy Borland/Turbo C/C++ IDEs). For example, I can use IdeaVim as a plugin and have the comfort of using my short keys. At the same time, I can do things like Alt + Enter and invoke powerful and convenient quick fixes, transformations and refactorings!
What I love about IntelliJ is its keyboard shortcuts and features that boost our productivity. My five most favorite shortcuts (in Mac): quick-fixes (Alt + Enter), refactoring (Ctrl + T), search everywhere (Shift + Shift aka double Shift), generate code (Cmd + N), insert live template (Cmd + J). This is just a sampling of what you can do with this powerful editor. You can do many things “auto”-magically - automatically find potential bugs, fix them, transform code, generate code, reformat & rearrange, improve, …
Want to dig deeper and debug or performance tune applications? Decompiler, disassembler, and profilers are integrated. Want to pull changes or commit changes all from without leaving your IDE? Version control is integrated and supports Git, SVN and Mercurial. Using Spring, Java EE, Micronaut, Quarkus, Helidon? That’s tiny list, please add more including Grails, Play2 & Hibernate. Using SQL? Got you covered with the power of DataGrip integrated.
This is the free and open source version, and yes it can be used for commercial development. It has all the important features required for regular development including code completion, static analysis and auto/quick-fixes, refactorings, and more. It also has support for multiple languages, mobile development (on Android), version control integration, profiling, and more.
If you are a student, you can use the IntelliJ DEA Edu version (free). What I love about Edu is the helpful learning support provided for learning both Java in the form of assignments, programming tests – all that help learn programming in a fun and interactive way.
If you are a LOTR (Lord Of The Rings) fan, you’ll relate to “one ring to rule them all” for IDE – and yes, “72% of Java developers choose IntelliJ IDEA”! No matter if you develop occasionally in Java (Community), professional developer using the IDE most of the day (Ultimate), or learning Java (Edu) – you can use IntelliJ IDEA. Give it a try and have fun coding! Download here.