Making Java Development an Enjoyable Experience

Deep insight into your code

IntelliJ IDEA constantly analyzes your code, looking for connections between symbols across all project files and languages. Using this information it can provide indepth coding assistance, quick navigation, clever error analysis with handy quick fixes, and, of course, intellingent refactorings that all ensure complete consistency of changes because IntelliJ IDEA knows your code really deeply.

Smart completion

Ctrl+Shift+Space gives you a list of the most relevant symbols applicable in the current context. This and other completions are constantly learning from you, moving the members of the most frequently used classes and packages to the top of the suggestions list, so you can select them faster.

Chain completion

Digs a tad deeper than Smart Completion and lists applicable symbols accessible via methods or getters in the current context. Say you're looking for a value of Project and only have the Module module declaration. Press Ctrl+Shift+Space twice to get module.getProject() without any additional effort.

Static members completion

Lets you easily use static methods or constants. Offers a list of symbols matching your input and automatically adds required import statements.

Data flow analysis

When offering completion variants, IntelliJ IDEA analyses data flow to guess the possible runtime symbol type and refines choices based on that intel, automatically adding class casts.

Language injection

Brings coding assistance for a selected language to expressions and string literals in another one, complete with all advantages you would normally have. For example, you can inject fragments of SQL, XPath, HTML, CSS, or JavaScript code into Java String literals.

Consistent refactorings

Knowing everything about usages of a symbol, IntelliJ IDEA offers extremely effective, thorough refactorings. For example, when you Rename a class within a JPA statement, it will update everything, from JPA entity class, to every JPA expression where it is used. Oh, and it's super-fast, too.

Detecting duplicates

Finds duplicate code fragments on the fly. Even if you're only about to extract a variable, constant, or a method, IntelliJ IDEA will let you know that there is a similar code fragment that can be replaced along with the one you're woking on.

Detecting code smells

Whenever IntelliJ IDEA detects that you're about to make a mistake, a little lightbulb pops up in the editor. Clicking it or pressing Alt+Enter opens a list of actions you can take to make things right.

Developer ergonomics

Every aspect of IntelliJ IDEA, its features, functions, UI layout, and integrations were all designed with developer ergonomics in mind. IntelliJ IDEA is built on a principle that every minute a developer spends in the flow is a good minute, and things that break developers out of that flow are bad and should be avoided.

Ergonomic layout

Most of your time the editor (and the code) is the only thing visible on your screen, and you don't need to leave it to do something that isn't coding-related, including the use of templates, switching between tool windows and project files, and even debugging.

You don't need to switch between tool windows or different layouts to do different tasks. IntelliJ IDEA follows your context and brings up the corresponding tools automatically.

Wizard-free environment

In IntelliJ IDEA you don't have to walk through complex wizards or fill huge forms to get things done.

When you're in the Project tool window, you can not only navigate through the existing items, but also create new ones by just pressing Alt+Ins.

Quick search

Just start typing in any list, tree, or even popup window to instantly jump to a set of items containing text you've just entered.

Heuristics

Like everything else in IntelliJ IDEA, actions are ergonomic, too. When you call an action like Find Usages, it delivers the most relevant results very quickly; if you need to dig deeper, invoke it again to get a complete picture.

Out-of-the-box experience

Everything you need: VCS, application servers, frameworks support, and other mission-critical tools are right there after the installation.

Built-in developer tools

Version control, Build tools, Decompiler, Terminal, Coverage, Bytecode viewer, Database, FTP, Application servers integration.

First-class support of top frameworks

Java EE, Spring, Android, GWT, Vaadin, Play, Grails, Hibernate, Thymeleaf, AngularJS, React, Velocity, Freemarker, Struts, Guice, JavaFX, Swing

Many languages—one IDE

Frequently called the most intelligent Java IDE, IntelliJ IDEA also provides similar levels of intelligece for many languages, including Groovy, Kotlin, Scala, JavaScript, TypeScript and SQL.

Plugins

IntelliJ IDEA is a turnkey solution, but if you ever need anything extra, its rich plugin ecosystem and mature plugin developer API are there to help you.

Choose
your edition

Community

For JVM and Android development

Ultimate

For web and enterprise development
Java, Kotlin, Groovy, Scala
Android ?
Maven, Gradle, SBT
Git, SVN, Mercurial, CVS
Perforce, ClearCase, TFS
JavaScript, TypeScript ?
Java EE, Spring, GWT, Vaadin, Play, Grails, Other Frameworks ?
Database Tools, SQL