
In some cases, implementing an actual IntelliJ Platform plugin might not be necessary, as alternative solutions exist.

See the Quick Start Guide for more details. Many of the existing IntelliJ Platform features are implemented as plugins that can be included or excluded depending on the needs of the end product. Plugins can extend the platform in many ways, from adding a simple menu item to adding support for a complete language, build system, and debugger. It is also possible to distribute plugins using a Custom Plugin Repository. The IntelliJ Platform fully supports plugins, and JetBrains hosts the JetBrains Marketplace which can be used to distribute plugins that support one or more of the products. Products built on the IntelliJ Platform are extensible applications, with the platform being responsible for creating components and the injection of dependencies into classes. 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. PSI powers a lot of functionalities, from quick navigating to files, types, and symbols, to the contents of code completion windows and find usages, code inspections, and code rewriting, for quick fixes or refactorings, as well as many other features. 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. It also provides an infrastructure for a rich debugging experience, with language-agnostic advanced breakpoint support, call stacks, watch windows, and expression evaluation.īut the IntelliJ Platform's real power comes from the Program Structure Interface (PSI). An image editor is also included.įurthermore, it includes open APIs to build standard IDE functionality, such as a project model and a build system. The IntelliJ Platform has a full-text editor with abstract implementations of syntax highlighting, code folding, code completion, and other rich text editing features. 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 provides all the infrastructure that these IDEs need to provide rich language tooling support.

It is also Open Source and can be used by third parties to build IDEs, such as Android Studio from Google.

It is used to power JetBrains products such as IntelliJ IDEA. The IntelliJ Platform is not a product in and of itself but provides a platform for building IDEs.
