IntelliJ IDEA
# IntelliJ IDEA

IntelliJ IDEA ist eine integrierte Entwicklungsumgebung (IDE) des Softwareunternehmens JetBrains für die Programmiersprachen Java, Kotlin, Groovy und Scala. Es existieren ab der Version 9.0 zwei verschiedene Editionen, die kostenpflichtige Ultimate Edition und die kostenfreie Free Software Community Edition. Die kostenpflichtige Ultimate-Version kann mittels Abonnement monatlich oder auch jährlich bezahlt werden.

## Funktionsumfang

Zu den Features gehören die Unterstützung von Java EE, Ant, Apache Maven, JUnit, ein GUI-Editor, Tools zur Versionskontrolle, insbesondere Git, sowie hauptsächlich verschiedene Möglichkeiten zum automatischen Refactoring von Code. Ab Version 14.0 ist ein Decompiler für Java-Klassen vorhanden, der es erlaubt, den Java-Code von Klassen zu betrachten, obwohl man nur den Bytecode dieser Klasse, nicht aber deren Quellcode besitzt.

## Plug-ins

Der Funktionsumfang kann mittels Plug-ins erweitert werden. Diese werden teils von JetBrains, teils von der IntelliJ-Community entwickelt. Das Schreiben eigener Plug-ins ist ausdrücklich erwünscht und wird derzeit in jedem Jahr durch einen Plug-in-Wettbewerb unterstützt, bei dem die Gewinner Geld- und Softwarepreise erhalten. Eine vollständige Liste aller Plugins ist auf der Seite von JetBrains zu finden.

## IDE-Ableger

Seit 2009 gibt es (zunächst unter dem Namen „JetBrains Web IDE“) mit PhpStorm einen Ableger der IntelliJ IDEA, der sich auf die Programmiersprache PHP konzentriert, WebStorm für die JavaScript-Entwicklung sowie PyCharm für die Python-Entwicklung. Mittlerweile gibt es außerdem Ableger für Ruby, .NET-basierte Sprachen, C/C++, sowie Go. Darüber hinaus existiert seit Mai 2013 mit Android Studio ein Ableger von Google zur Erstellung von Apps für Android.

## Versionstabelle

Während IntelliJ IDEA zunächst in einem jährlichen Veröffentlichungszyklus aktualisiert und als Kaufversion vertrieben wurde, ist es seit 2015 nur noch auf Basis eines Abo-Modells erhältlich. Dieses gesteht dem Anwender jedoch das Recht zu, das Programm auch nach Kündigung des Abonnements in einer Fallback-Versionsnummer dauerhaft weiterzunutzen, sollte er mindestens 12 Monate lang durchgängig ein Abonnement besessen haben. Die Fallback-Version ist immer die Version, die man nach einem 12 Monate langen, durchgängigen Abonnement besessen hat.

Anfang 2016 erfolgte dann die Umstellung auf mehrere kleinere Veröffentlichungen pro Jahr. Diese werden jeweils mit der Jahreszahl und einer fortlaufenden Nummer für den Einzelrelease benannt.

| Version | Veröffentlichung | Anmerkung |
| - | - | - |
| 1.0 | Januar 2001 | erste Version |
| 2.0 | Juli 2001 | |
| 3.0 | November 2002 | |
| 4.0 | 17. Februar 2004 | |
| 4.5 | 27. Juli 2004 | |
| 5.0 | 1. August 2005 | |
| 6.0 | 2. Oktober 2006 | |
| 7.0 | 15. Oktober 2007 | Unterstützung für Groovy und Grails |
| 8.0 | 6. November 2008 | |
| 9.0 | 8. Dezember 2009 | |
| 10.0 | 9. Dezember 2010 | |
| 10.5 | 16. Mai 2011 | Unterstützung für Java 7 |
| 11.0 | 6. Dezember 2011 | |
| 11.1 | 28. März 2012 | |
| 12.0 | 5. Dezember 2012 | |
| 12.1 | 3. April 2013 | Unterstützung für JavaFX2 |
| 13.0 | 3. Dezember 2013 | Unterstützung für Java 8 |
| 14.0 | 5. November 2014 | Decompiler für Java-Klassen |
| 14.1 | 24. März 2015 | initiale Unterstützung für Java 9, Unterstützung für Docker, Distraction Free Mode |
| 15.0 | 2. November 2015 | |
| 2016.1 | 17. März 2016 | |
| 2016.2 | 12. Juli 2016 | |
| 2016.3 | 22. November 2016 | |
| 2017.1 | 21. März 2017 | |
| 2017.2 | 18. Juli 2017 | |
| 2017.3 | 30. November 2017 | |
| 2018.1 | 27. März 2018 | Verbesserungen bei der Code-Vervollständigung, Datenflussanalyse, Fehlende ServiceLoader-Deklaration, Fehlende Klasse erstellen, Idempotente Körpererkennung |
| 2018.2 | 25. Juli 2018 | Java 11, mehrere GitHub-Zugänge |
| 2018.3 | 21. November 2018 | |
| 2019.1 | 27. März 2019 | |
| 2019.2 | 24. Juli 2019 | |
| 2019.3 | 28. November 2019 | |
| 2020.1 | 9. April 2020 | Java 14, LightEdit-Modus, JDK autodownload, Rendern von Javadocs im Editor |
| 2020.2 | 28. Juli 2020 | |
| 2020.3 | 1. Dezember 2020 | |
| 2021.1 | 7. April 2021 | Unterstützung für Java 16 und WSL 2, Space-Integration, Code With Me, HTML-Vorschau in der IDE, Code-Ausführung in SSH-Hosts und Docker-Containern |
| 2021.2 | 27. Juli 2021 | Unterstützung für Java 17 in Version 2021.2.1 |
| 2021.3 | 30. November 2021 | |
| 2022.1 | 12. April 2022 | Unterstützung für Java 18, Dependency Analyzer |
| 2022.2 | 26. Juli 2022 |
| 2022.3 | 30. November 2022 | |
