IntelliJ Platform Plugin SDK
 
IntelliJ Platform Explorer

The IntelliJ Platform

Edit pageLast modified: 28 October 2024

The IntelliJ Platform is not a product in and of itself but provides a platform for building IDEs. It is used to power JetBrains products such as IntelliJ IDEA. It is also Open Source and can be used by third parties to build IDEs, such as Android Studio from Google.

The IntelliJ Platform provides all the infrastructure that these IDEs need to provide rich language tooling support. It is a component-driven, cross-platform JVM based application host with a high-level user interface toolkit for creating tool windows, tree views, and lists (supporting fast search) as well as popup menus and dialogs.

The IntelliJ Platform has a full-text editor with abstract implementations of syntax highlighting, code folding, code completion, and other rich text editing features. An image editor is also included.

Furthermore, it includes open APIs to build standard IDE functionality, such as a project model and a build system. It also provides an infrastructure for a rich debugging experience, with language-agnostic advanced breakpoint support, call stacks, watch windows, and expression evaluation.

But the IntelliJ Platform's real power comes from the Program Structure Interface (PSI). It is a set of functionalities used to parse files, build rich syntactic and semantic models of the code, and build indexes from this data. PSI powers a lot of functionalities, from quick navigating to files, types, and symbols, to the contents of code completion popups and find usages, code inspections, and code rewriting, for quick fixes or refactorings, as well as many other features.

The IntelliJ Platform includes parsers and a PSI model for many languages, and its extensible nature means that it is possible to add support for other languages.