Making Development an Enjoyable Experience

Deep insight into your code

IntelliJ IDEA analyzes your code, looking for connections between symbols across all project files and languages. Using this information it provides indepth coding assistance, quick navigation, clever error analysis, and, of course, refactorings.

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.

Cross-language 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.

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.

Inspections and quick-fixes

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 is designed with 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.

Editor-centric environment

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.

Quick popups are helpful for checking additional information without leaving the context that you’re in. When you press Ctrl+Shift+I it shows you the definition for the symbol at caret.

To generate code, you don't have to walk through complex wizards or fill huge forms.

Shortcuts for everything

In IntelliJ IDEA you have dedicated keyboard shortcuts for nearly everything, including rapid selection and switching between tool windows and the editor.

Accessing a tool window via its shortcut moves the input focus to it, so you can use all keyboard commands in its context. When you need to go back to the editor, just hit Esc.

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.

Ergonomic user interface

All lists, trees and popups in IntelliJ IDEA provide you with quick search that instantly takes you to a set of items that contain text you’re typing in them.

The first call of any IDE action is supposed to provide most expected results. Need more results? Press the shortcut again and the IDE will go deeper to find what you need.

Inline debugger

When you debug your code IntelliJ IDEA shows you variable values right in the source code, next to their usages.

You don’t even have to hover the mouse over the variable, or switch to the Variables pane of the Debug tool window.

Any time a variable changes its value, the IDE highlights it with a different color so that you can better understand how the state is changed over the code.

Built-in developer tools

To streamline your workflow, IntelliJ IDEA offers an unbeatable toolset right from the first start: decompiler, bytecode viewer, FTP and many more.

Version control

IntelliJ IDEA provides a unified interface for major version control systems including Git, SVN, Mercurial, CVS, Perforce, and TFS. The IDE lets you browse the history of changes, manage branches, merge conflicts and much more

Build tools

IntelliJ IDEA supports Maven, Gradle, Ant, Gant, SBT, NPM, Webpack, Grunt, Gulp and other build tools. Seamlessly integrated, these tools help automate compilation, packaging, running tests, deployment and other activities

Test runner and coverage

IntelliJ IDEA lets you perform unit testing with ease. The IDE includes test runners and coverage tools for major test frameworks, including JUnit, TestNG, Spock; Cucumber, ScalaTest, spec2, and Karma.

Decompiler

IntelliJ IDEA comes with a built-in decompiler for Java classes. When you want to take a look inside a library that you don't have the source code for, now you can – without any third-party plugins.

Terminal

The IDE comes with a built-in terminal. Depending on your platform, you can work with command line prompt, Far, powershell, or bash. Invoke the terminal with Alt+F12 and execute any command–without leaving the IDE.

Database tools

Take advantage of intelligent coding assistance when editing SQL; connect to live databases; run queries; browse and expert data; and even manage your schemes in a visual interface–right from the IDE.

learn more

Application servers

IntelliJ IDEA supports major application servers: Tomcat, JBoss, WebSphere, WebLogic, Glassfish, and many others.

You can deploy your artifacts onto application servers and debug the deployed applications right from within the IDE.

learn more

Docker

Via a separate plugin, IntelliJ IDEA provides a dedicated tool window that lets you connect to locally running Docker machines to manage images, containers and Docker Compose services.

learn more

Polyglot experience

In addition to Java, IntelliJ IDEA offers first-class support for top JVM and non-JVM frameworks and languages out of the box.

First-class support for top frameworks

IntelliJ IDEA provides support for the most popular server-side and front-end frameworks.

Take advantage of extended coding assistance for Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS and other frameworks.

Many languages–one IDE

While IntelliJ IDEA is an IDE for Java, it also understands many other languages, including Groovy, Kotlin, Scala, JavaScript, TypeScript and SQL.

IntelliJ IDEA is a turnkey solution, but if you ever need anything extra, its rich plugin ecosystem is here 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