IntelliJ IDEA

IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains (formerly known as IntelliJ) and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.

History
The first version of IntelliJ IDEA was released in January 2001 and was one of the first available Java IDEs with advanced code navigation and code refactoring capabilities integrated.

In 2009, JetBrains released the source code for IntelliJ IDEA under the open-source Apache License 2.0. JetBrains also began distributing a limited version of IntelliJ IDEA consisting of open-source features under the moniker Community Edition. The commercial Ultimate Edition provides additional features and remains available for a fee.

In a 2010 InfoWorld report, IntelliJ received the highest test center score out of the four top Java programming tools: Eclipse, IntelliJ IDEA, NetBeans and JDeveloper.

In December 2014, Google announced version 1.0 of Android Studio, an open-source IDE for Android apps, based on the open source community edition. Other development environments based on IntelliJ's framework include AppCode, CLion, DataGrip, GoLand, PhpStorm, PyCharm, Rider, RubyMine, WebStorm, and MPS.

In September 2020, Huawei announced and released version 1.0 of DevEco Studio, an open-source IDE for HarmonyOS apps development, based on Jetbrains IntelliJ IDEA with Huawei's SmartAssist for Windows and macOS.

Coding assistance
The IDE provides certain features like code completion by analyzing the context, code navigation which allows jumping to a class or declaration in the code directly, code refactoring, code debugging , linting and options to fix inconsistencies via suggestions.

Built in tools and integration
The IDE provides integration with build/packaging tools like Grunt, bower, Gradle, and sbt. It supports databases like Microsoft SQL Server, Oracle, PostgreSQL, SQLite, and MySQL can be accessed directly from the IDE in the Ultimate edition, through an embedded version of DataGrip, another IDE developed by JetBrains.

Plugin ecosystem
IntelliJ supports plugins through which one can add additional functionality to the IDE. Plugins can be downloaded and installed either from IntelliJ's plugin repository website or through the IDE's inbuilt plugin search and install feature. Each edition has separate plugin repositories, with both the Community and Ultimate editions totaling over 3000 plugins each as of 2019.

Supported languages
The Community and Ultimate editions differ in their support for various programming languages as shown in the following table.

Supported in both Community and Ultimate Edition:
 * CSS, Sass, SCSS, Less, Stylus
 * Groovy
 * HTML, XML, JSON, YAML
 * Java
 * Kotlin
 * Markdown
 * XSL, XPATH

Supported in both Community and Ultimate Edition via plugins:
 * Clojure
 * CloudSlang
 * Dart
 * Elm
 * Erlang
 * Gosu
 * Haskell
 * Haxe
 * Julia
 * Lua
 * Perl
 * Python
 * R
 * Rust
 * Scala

Supported only in Ultimate Edition:
 * CoffeeScript, ActionScript
 * JavaScript, TypeScript
 * SQL

Supported only in Ultimate Edition via plugins:
 * Cython
 * Go
 * PHP
 * Ruby and JRuby

Technologies and frameworks
Source:

Supported in both Community and Ultimate Edition:


 * Android (includes the Android Studio's functionality)
 * Ant
 * Gradle
 * Test runners (JUnit, TestNG, Spock, Cucumber, ScalaTest, spec2, etc.)
 * JavaFX
 * Maven

Supported only in Ultimate Edition:


 * Django
 * Thymeleaf, FreeMarker, Velocity
 * Grails
 * Jakarta EE (Jakarta Faces, JAX-RS, CDI, JPA, etc.)
 * Micronaut, Quarkus, Helidon
 * Node.js, React, Vue.js, Angular
 * AspectJ, JBoss Seam, OSGi
 * Play
 * Ruby on Rails
 * sbt
 * Spring

There was a free plugin from Atlassian for IntelliJ available to integrate with JIRA, Bamboo, Crucible and FishEye. However, the software, called IDE-Connector, was discontinued on June 1, 2015.

Software versioning and revision control
The two editions also differ in their support for software versioning and revision control systems.

Supported in both Community and Ultimate Edition:
 * Git
 * Mercurial
 * Subversion
 * Azure DevOps (formerly TFS/VSTS; via plug-in)

Supported only in Ultimate Edition:
 * Perforce