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.

2022

December-22

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

November-22

Plugin User Experience

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

Minor Changes and Additions

October-22

Minor Changes and Additions

September-22

Extract Part X — Themes

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-22

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-22

Status Bar Widgets

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

Minor Changes and Additions

June-22

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 documentation to Appendix III — 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-22

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-22

Internal API Migration

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

March-22

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-22

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-22

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-21

Trusted Project

Potentially unsafe features must be guarded using Trusted Project API.

November-21

Language Injection

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

September-21

IDE Infrastructure

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

Extension Point Lists: Listeners, Deprecation status

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

July-21

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-21

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-21

IDE specific Extension Point Lists

See Part VIII — 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-21

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-20

IntelliJ Platform Explorer

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

November-20

Extension Point List

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

August-20

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-20

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-20

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-20

JCEF Support

Allows embedding Chromium-based browser in the IDE.

February-20

All Code Samples converted to Gradle

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

January-20

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

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

2019

December-19

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-19

Part X — Plugin Repository moved

All contents have been moved to JetBrains Marketplace Documentation.

July-19

New page: Optimizing Performance

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

May-19

New Page: Kotlin UI DSL

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

Last modified: 02 December 2022