IntelliJ Platform Plugin SDK Help

Content Updates

This page lists notable additions and updates to the SDK documentation and Code Samples.

See GitHub Changelog (RSS) for a detailed changelog.

2024

August

Workspace Model

Workspace Model represents the project's structure and all its elements and replaces the existing Project Model.

Minor Changes and Additions

July

Threading Model

Revamp the Threading Model page (formerly General Threading Rules) and add a new page describing background processes, including cancellation and progress tracking.

Coroutines Read Actions

Added FAQ section and explanation of why suspending inside the block is not allowed.

June

Code Formatter

Rework Code Formatter page, extending explanations and updating content.

May

Minor Changes and Additions

April

Plugin Internationalization

Add Internationalization and Providing Translations pages describing IDE and plugin translation possibilities and best practices.

Minor Changes and Additions
  • How to mark functionality available during indexing via DumbAware API .

  • Move Extension Point and Listener Lists to the Resources section and split the main Extension Point and Listener List into: IntelliJ Platform, IntelliJ Community Plugins, and Android Plugin.

March

Kotlin Coroutines

Add Kotlin Coroutines describing how to write asynchronous code in an imperative style.

Minor Changes and Additions

February

IntelliJ Platform Gradle Plugin 2.x (Early Access Preview)

Add documentation for the next generation of Gradle tooling for plugin development.

2023

December

JCEF

Revamp JCEF (Java Chromium Embedded Framework) page.

User Interface FAQ

Added User Interface FAQ.

Language Server Protocol (LSP)

Added Language Server Protocol (LSP).

November

Minor Changes and Additions

October

Kotlin Persisting State Component

Add an example of a persistent state component implemented in Kotlin.

Minor Changes and Additions

September

Run Configuration Macros

Add Macros section describing how to support dynamic expandable values in run configuration settings.

Inlay Hints

Update Inlay Hints page with the information about new APIs.

Threading Model

Update Threading Model to reflect changes in 2023.3 platform.

Minor Changes and Additions

July

Run Configurations

Describe techniques for simplifying run configuration settings editors.

June

Execution

Rework Execution, Run Configurations, and Run Configurations Tutorial pages.

Minor Changes and Additions

April

Documentation

Rework Documentation page and adapt it to the new DocumentationTargetProvider framework.

March

Web Symbols

Add Web Symbols documentation, which is a framework that simplifies web technology development by utilizing the Symbols API and supporting custom syntaxes.

Open Source Plugins Extension Points

Added Open Source Plugins Extension Point and Listener List for plugins bundled with IntelliJ IDEA Ultimate and other IDEs.

February

Inspection Options

Add a section on Inspection Options, which allows extending inspection behavior based on the input provided by user at runtime.

Minor Changes and Additions

January

Minor Changes and Additions

2022

December

Intention Preview

Add information about how to prepare intentions to show Intention Action Preview.

Minor Changes and Additions
  • Add information for new Cell.align methods in Kotlin UI DSL Version 2.

November

Plugin User Experience

Add a new section about how to improve plugin UX and overall plugin quality.

Minor Changes and Additions

October

Minor Changes and Additions

September

Extract "Themes" part

All the content related to themes customization and creating a project using the DevKit approach has been moved to a new Themes part. Content has been refreshed to match the current state of the project and SDK wizards.

Spell Checking

Add Spell Checking section with an accompanying tutorial showing how to implement a spell checking for a custom language.

Minor Changes and Additions

August

Plugin Configuration Page

Update the Plugin Configuration File page to describe all the elements in detail.

Source links migrated from Upsource to GitHub

All source links now point to GitHub instead of Upsource (which is going to be sunset).

July

Status Bar Widgets

Add section Status Bar Widgets describing how to implement your own status bar widgets.

Minor Changes and Additions

June

PHP Type Providers

Add section PHP Type Providers about type providers describing type inference in PhpStorm and how to implement your own type provider.

Postfix Completion

Add Postfix Completion section explaining how to implement generating or wrapping the existing code into additional constructs without navigating the caret back.

Gradle IntelliJ Plugin

Add Gradle IntelliJ Plugin (1.x) documentation to Tooling.

Bundling Plugin API Sources

Add the Bundling Plugin API Sources section explaining how to expose plugin API sources to dependent plugin developers.

Minor Changes and Additions

May

Navigation Bar

Add Navigation Bar section with an accompanying tutorial showing how to implement a navigation bar for a custom language.

Inlay Hints

Add section Inlay Hints describing special markers that appear in the editor and provide additional information, like the names of the parameters that a called method expects.

Minor Changes and Additions

April

Internal API Migration

As API annotated with @ApiStatus.Internal must not be used in plugins, refer to Internal API Migration for a list corresponding API replacements and additional information.

March

Code Samples Build Scripts Migrated to Kotlin

All Code Samples now use Kotlin DSL in their Gradle build scripts.

Android Studio Releases List

Add Android Studio Releases List section containing a complete list of the Android Studio releases with the relevant IntelliJ IDEA release version specified.

Alternatives to Implementing a Plugin

Add Alternatives to Implementing a Plugin section describing alternative approaches to extending IDE functionality without actual plugin development.

February

Parameter Info

Add Parameter Info section explaining how information about function parameters can be shown in the editor.

File and Code Templates

Add File and Code Templates section explaining how to implement functionality that allows generating files and code fragments containing repetitive text and patterns.

January

Highlighting

Add Syntax Errors and Controlling Highlighting sections explaining syntax highlighting basics and filtering highlighting information.

IDE Infrastructure

Add sections Application Events and Plugin Management.

2021

December

Trusted Project

Potentially unsafe features must be guarded using Trusted Project API.

November

Language Injection

Add Language Injection section that shows how the IntelliJ Platform handles different languages within the same source file.

September

IDE Infrastructure

IDE Infrastructure handles Logging, Error Reporting, Runtime Information, and how to provide Context Help.

Extension Point Lists: Listeners, Deprecation status

IntelliJ Platform Extension Point and Listener List now contains sections listing all provided Listener Topics. See also corresponding Extension Point Lists under Product Specific. Also, all deprecated API now has a dedicated tag.

July

Plugin Signing

Plugin Signing describes the plugin signing process, explains how to generate a certificate, configure the Gradle signPlugin task, and introduces a standalone CLI tool.

June

Testing FAQ

Testing FAQ page lists common issues, useful classes, and techniques for writing and maintaining tests.

Documentation Provider

Add Documentation section with an accompanying tutorial that show how to implement a DocumentationProvider for custom languages.

May

IDE specific Extension Point Lists

See Product Specific.

New Guide - Explore the IntelliJ Platform API

Add a new section Explore the IntelliJ Platform API that describes how plugin authors work with the IntelliJ Platform API and what tools they use.

March

Element Patterns

Add a new section about Element Patterns that are used when implementing Completion Contributors or PSI Reference Contributors.

Editor - Text Selection

Add a new section about Text Selection EPs and describe ExtendWordSelectionHandler.

SDK Setup Assistance

Added a code sample to the SDK tutorial that expands on assisting in the setup of an SDK.

Unified AST

Unified Abstract Syntax Tree (UAST) allows providing features that will work across all supported JVM languages (Java, Kotlin, Scala, Groovy).

2020

December

IntelliJ Platform Explorer

Explore usages of Extension Points in open-source plugins using IntelliJ Platform Explorer.

November

Extension Point List

All EPs available in IJ Platform and Android can now be browsed conveniently.

August

README added to Code Samples

All code samples used in this guide now come with README, making it easier to browse them. They can be conveniently accessed via a separate GitHub repository.

June

Dynamic Plugins update

Added new sections Code and Troubleshooting to Dynamic Plugins.

GitHub IntelliJ Platform Plugin Template

Create new plugins with a preconfigured project scaffold and CI in one click.

Disposer & Disposable

Added reference discussing resource cleanup/management.

May

Settings (Preferences)

Added guide and tutorial on integrating with IDE Settings dialog.

UI Inspector

Inspect Swing components and associated data (like AnAction for menu item) using UI Inspector.

March

JCEF Support

Allows embedding Chromium-based browser in the IDE.

February

All Code Samples converted to Gradle

All samples now use the recommended solution of setting up plugin projects.

January

Custom Language Support Tutorial converted to Gradle

The corresponding tutorial and Testing a Custom Language Plugin have been updated and enhanced as well.

Targeting specific IDEs

Product Specific has been expanded massively, now also covering each IDE with its dedicated page.

2019

December

Dynamic Plugins support

Added starting point Dynamic Plugins for migrating plugins (IntelliJ Platform 2020.1 and later).

Plugin Components migration

Components being a legacy feature, the updated page describes migrating them to modern replacement API.

October

Plugin Repository moved

All contents have been moved to JetBrains Marketplace Documentation.

July

New page: Optimizing Performance

Optimizing performance when working with PSI, during indexing, and Avoiding UI Freezes.

May

New Page: Kotlin UI DSL

Describes preferred way of building UI/dialogs for IntelliJ Platform 2019.2 and later.

Last modified: 15 August 2024